PDA

View Full Version : دستور insert در sql



mahsa.sh
دوشنبه 26 تیر 1391, 14:38 عصر
برای insert کد زیر را نوشتم ولی گویا اشتباه ست!



try

{



string myConnectionString = "server=localhost ;Database=mydb ;Uid=root ;password=root ";



MySqlConnection myConnection = new MySqlConnection(myConnectionString);

myConnection.Open();



string myInsertQuery = "INSERT INTO customer(@sh_sabt, @onvan, @reshte, @muzu,@jeld,@shabak,@nevisande,@nasher,@salenashr, @zaban,@vaziyat)";



MySqlCommand myCommand = new MySqlCommand(myInsertQuery);



int sh_sabt = int.Parse(textBox1.Text);



string onvan = textBox5.Text;



string reshte = comboBox1.SelectedItem.ToString();



string muzu = comboBox2.SelectedItem.ToString();



int jeld = int.Parse(comboBox3.SelectedItem.ToString());



string shabak = textBox3.Text;



string nevisande = textBox6.Text;



string nasher = textBox4.Text;



string salenashr = textBox2.Text;



string zaban = comboBox4.SelectedItem.ToString();



string vaziyat = textBox7.Text;

myCommand.Parameters.Add(

new MySqlParameter("sh_sabt",sh_sabt) );

myCommand.Parameters.Add(

new MySqlParameter("onvan", onvan));

myCommand.Parameters.Add(

new MySqlParameter("reshte", reshte));

myCommand.Parameters.Add(

new MySqlParameter("muzu", muzu));

myCommand.Parameters.Add(

new MySqlParameter("jeld", jeld));

myCommand.Parameters.Add(

new MySqlParameter("shabak", shabak));

myCommand.Parameters.Add(

new MySqlParameter("nevisande", nevisande));

myCommand.Parameters.Add(

new MySqlParameter("nasher", nasher));

myCommand.Parameters.Add(

new MySqlParameter("salenashr", salenashr));

myCommand.Parameters.Add(

new MySqlParameter("zaban", zaban));

myCommand.Parameters.Add(

new MySqlParameter("vaziyat", vaziyat));

myCommand.Connection = myConnection;

myCommand.ExecuteNonQuery();

myCommand.Connection.Close();

}



catch (Exception ex)

{



Console.WriteLine(ex.Message);

}

Arash_janusV3
دوشنبه 26 تیر 1391, 14:42 عصر
درج رکورد با دستور INSERT در SQL با استفاده از دستور BeginTransaction (http://barnamenevis.org/showthread.php?346847-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-%D8%A8%D9%87-%D9%87%D9%85%D8%B1%D8%A7%D9%87-%D9%85%D8%AB%D8%A7%D9%84%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C&p=1530124&viewfull=1#post1530124)

mahsa.sh
دوشنبه 26 تیر 1391, 14:51 عصر
درج رکورد با دستور INSERT در SQL با استفاده از دستور BeginTransaction (http://barnamenevis.org/showthread.php?346847-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-%D8%A8%D9%87-%D9%87%D9%85%D8%B1%D8%A7%D9%87-%D9%85%D8%AB%D8%A7%D9%84%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C&p=1530124&viewfull=1#post1530124)
متشکرم ول من اون دستور رو نفهمیدم.
در ضمن من insert رو بصورت پارامتری میخوام.

aslan
دوشنبه 26 تیر 1391, 16:23 عصر
INSERT INTO Test (StationId,Operation_Id,Operation_Code,Operation_N ame,PieceCode)
VALUES (@stationid,@operationid,@operationcode,@operation name,@piececode)

robat7
دوشنبه 26 تیر 1391, 16:31 عصر
دوست عزیز
شما باید ابتدا دستور زیر را اجرا نمایید.

myCommand.CommandType = CommandType.StoredProcedure;

mahsa.sh
دوشنبه 26 تیر 1391, 16:54 عصر
دوست عزیز
شما باید ابتدا دستور زیر را اجرا نمایید.

myCommand.CommandType = CommandType.StoredProcedure;
این کار را هم انجام دادم. کدی که نوشتم رو در زیر گذاشتم.
میشه لطف کنید بگید مشکلش کجاست؟

try

{



string myConnectionString = "server=localhost ;Database=mydb ;Uid=root ;password=root ";



MySqlConnection myConnection = new MySqlConnection(myConnectionString);

myConnection.Open();



string myInsertQuery = "INSERT INTO book(@sh_sabt, @onvan, @reshte, @muzu,@jeld,@shabak,@nevisande,@nasher,@salenashr, @zaban,@vaziyat)";



MySqlCommand myCommand = new MySqlCommand(myInsertQuery);



int sh_sabt = int.Parse(textBox1.Text);



string onvan = textBox5.Text;



string reshte = comboBox1.SelectedItem.ToString();



string muzu = comboBox2.SelectedItem.ToString();



int jeld = int.Parse(comboBox3.SelectedItem.ToString());



string shabak = textBox3.Text;



string nevisande = textBox6.Text;



string nasher = textBox4.Text;



string salenashr = textBox2.Text;



string zaban = comboBox4.SelectedItem.ToString();



string vaziyat = textBox7.Text;



myCommand.Connection = myConnection;

myCommand.CommandType =

CommandType.StoredProcedure;

myCommand.CommandText =

"INSERT INTO book(shomaresabt, onvan, reshte, muzu,jeld,shabak,nevisande,nasher,salenashr,zaban, vaziyat)VALUES ('" + sh_sabt + "','" + onvan + "','" + reshte + "','" + muzu + "','" + jeld + "','" + shabak + "','" + nevisande + "','" + nasher + "','" + salenashr + "','" + zaban + "','" + vaziyat + "' )";

myCommand.ExecuteNonQuery();

myCommand.Connection.Close();

}



catch (Exception ex)

{



Console.WriteLine(ex.Message);

}

Close();

mahsa.sh
دوشنبه 26 تیر 1391, 16:56 عصر
INSERT INTO Test (StationId,Operation_Id,Operation_Code,Operation_N ame,PieceCode)
VALUES (@stationid,@operationid,@operationcode,@operation name,@piececode)

من چه جوری میتونم value ها را بعدا مقدار دهی کنم؟ بر اساس چیزی که از کاربر میگیرم

robat7
دوشنبه 26 تیر 1391, 17:31 عصر
اگر می خواهید از Stored Procedure برای درج اطلاعات استفاده نمایید باید به ترتیب زیر عمل نمایید

1- تنظیم SqlCommand
2- تعریف نوع Command
3- تعریف پارامترها
4- باز کردن کانکشن
5- اجرای Stored Procedure
6- بستن کانکشن

Cm_Obj = new SqlCommand("EVMInsertPMData", Cn_DCCObj);
Cm_Obj.CommandType = CommandType.StoredProcedure;
Cm_Obj.Parameters.Add(new SqlParameter("@PSRDate", I_SelectedPSR));
Cm_Obj.Parameters.Add(new SqlParameter("@AssignMonth", ConvertColumnTextToDate(icol)));
Cm_Obj.Parameters.Add(new SqlParameter("@DollarAmount", double.Parse(Grid0[icol, irow].Value.ToString())));
Cm_Obj.Parameters.Add(new SqlParameter("@CBSCode", Grid0[1, irow].Value.ToString()));
Cm_Obj.Parameters.Add(new SqlParameter("@CurrentUser", ID_User));
Cm_Obj.Parameters.Add(new SqlParameter("@ProjectNumber", I_SelectedProject));

SqlParameter Mycode = Cm_Obj.Parameters.Add(new SqlParameter("@Mycode", 0));
Mycode.Direction = ParameterDirection.InputOutput;
Cm_Obj.ExecuteNonQuery();
if (int.Parse(Mycode.Value.ToString()) == 0)
MessageBox.Show("Error in Inserting Data Col:" + icol + " Row:" + irow,
"Insert PM Data ", MessageBoxButtons.OK, MessageBoxIcon.Information);

EVMInsertPMData نام Stoed Procedure می باشد

robat7
دوشنبه 26 تیر 1391, 17:33 عصر
این هم روش دیگری است که دستور درج را داخل برنامه وارد می نمایید


cmd_str = "INSERT INTO ECN ( " +
"codeECN, InActvNo, AbbECN, ReqECN, ReqByECN, PmnECN, MinECN ) " +
"VALUES ( " +
"@codeECN, @InActvNo, @AbbECN, @ReqECN, @ReqByECN, @PmnECN, @MinECN )";

Cm_Obj = new SqlCommand(cmd_str, Cn_Ecn_obj);

SqlParameter InActvNo = new SqlParameter("@InActvNo", SqlDbType.Int);
Cm_Obj.Parameters.AddWithValue("@InActvNo", InActvNo);
InactiveNo_int = FindNextInActiveNumber();
Cm_Obj.Parameters["@InActvNo"].Value = InactiveNo_int;

SqlParameter codeECN = new SqlParameter("@codeECN", SqlDbType.Int);
ID_ECNCode = FindNextSerialcode();
Cm_Obj.Parameters.AddWithValue("@codeECN", codeECN);
Cm_Obj.Parameters["@codeECN"].Value = ID_ECNCode;

SqlParameter AbbECN = new SqlParameter("@AbbECN", SqlDbType.NVarChar);
Cm_Obj.Parameters.AddWithValue("@AbbECN", AbbECN);
Cm_Obj.Parameters["@AbbECN"].Value = mdb.FixQuotationProblem(ID_f1.ID_ProjectAbb);

SqlParameter PmnECN = new SqlParameter("@PmnECN", SqlDbType.Int);//Project Manager
Cm_Obj.Parameters.AddWithValue("@PmnECN", PmnECN);
Cm_Obj.Parameters["@PmnECN"].Value = ID_f1.ID_PM;

SqlParameter ReqECN = new SqlParameter("@ReqECN", SqlDbType.Date); // Request Date
Cm_Obj.Parameters.AddWithValue("@ReqECN", ReqECN);
Cm_Obj.Parameters["@ReqECN"].Value = ID_f1.ID_RequestDate;

SqlParameter ReqByECN = new SqlParameter("@ReqByECN", SqlDbType.Int); //Request By
Cm_Obj.Parameters.AddWithValue("@ReqByECN", ReqByECN);
Cm_Obj.Parameters["@ReqByECN"].Value = ID_f1.ID_RequestBy;

SqlParameter MinECN = new SqlParameter("@MinECN", SqlDbType.Int); // Minimum cost of ECN
Cm_Obj.Parameters.AddWithValue("@MinECN", MinECN);
Cm_Obj.Parameters["@MinECN"].Value = ID_f1.ID_MinECNCode;

Cn_Ecn_obj.Open();
try
{
result = Cm_Obj.ExecuteNonQuery();
}
catch (Exception es)
{
System.Windows.Forms.MessageBox.Show(es.Message);
}
Cn_Ecn_obj.Close();
Cm_Obj.Parameters.Clear();
تمامی متغیر هایی که با ID شروع شده اند پراپرتی هایی هستند که از کاربر گرفته شده اند و به کلاس جهت ذخیره ارسال شده اند.