سلام
من یه فرم دارم که دارای یه سری فیلد هست ، وقتی فیلد ها رو از کاربر می گیرم با کلید اضافه کردن به گرید ویو اضافه می شه حالا می خوام یه کلید بزارم که رکورد به رکورد گریدویو رو توی بانک ذخیره کنه ممنون میشم راهنمایی کنید
سلام
من یه فرم دارم که دارای یه سری فیلد هست ، وقتی فیلد ها رو از کاربر می گیرم با کلید اضافه کردن به گرید ویو اضافه می شه حالا می خوام یه کلید بزارم که رکورد به رکورد گریدویو رو توی بانک ذخیره کنه ممنون میشم راهنمایی کنید
سلام.چجوری به گرید ویو اضافه میشه؟به منم یادبده..............
با این روش میتونی رکورد هایی رو که از کاربر توسط تکست باکس میگیری به دیتابیس اضافه کنی (البته اگه منظورتو درست فهمیده باشم)
SqlCommand scom = new SqlCommand("insert into t3(id,name,family values(" + textBox1.Text + ",'" + textBox2.Text + "'," + "'" + textBox3.Text + "')", sc);
sc.Open();
scom.ExecuteNonQuery();
sc.Close();
سلام.
با کد زیر میتونید رکوردهای گرید رو به جدول درج کنید:
string s = "";
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
s = s + "insert into student2 values('" + dataGridView1.Rows[i].Cells[0].Value + "','" + dataGridView1.Rows[i].Cells[1].Value + "',N'" + dataGridView1.Rows[i].Cells[2].Value + "',N'" + dataGridView1.Rows[i].Cells[3].Value + "')" + ";";
}
s = s.Remove(s.Length - 1, 1);con = new SqlConnection("Data source =(local);initial catalog = testgrid;integrated security = true");
con.Open();
SqlCommand cmd = new SqlCommand(s, con);cmd.ExecuteNonQuery();
con.Close();
s = s.Remove(s.Length - 1, 1);
این چکار میکنه؟؟؟؟
string s = "";
for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{
s = s + "insert into DateFact values(" + dataGridViewX1.Rows[i].Cells[0].Value + ",'" + dataGridViewX1.Rows[i].Cells[1].Value + "',N'" + dataGridViewX1.Rows[i].Cells[2].Value + "',N'" + dataGridViewX1.Rows[i].Cells[3].Value + "')" + ";";
}
s = s.Remove(s.Length - 1, 1);
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\bank\BAnbar.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
con.Open();
SqlCommand cmd = new SqlCommand(s, con);
cmd.ExecuteNonQuery();
con.Close();
ارور میده
اگه عکسش واضح نیست دوباره بزارم
بنام خدا
سلام
این رو تست کن ببین چی میشه
string s = "";
for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{
s = s + "insert into DateFact values('" + dataGridViewX1.Rows[i].Cells[0].Value + "','" + dataGridViewX1.Rows[i].Cells[1].Value + "',N'" + dataGridViewX1.Rows[i].Cells[2].Value + "',N'" + dataGridViewX1.Rows[i].Cells[3].Value + "')" + ";";
}
s = s.Remove(s.Length - 1, 1);
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\bank\BAnbar.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
con.Open();
SqlCommand cmd = new SqlCommand(s, con);
cmd.ExecuteNonQuery();
con.Close();
باز ارور داد
این آخرین سمی کالن ( ; ) رو که زیادی هست پاک میکنه. بقیه رکوردها با ; از هم جدا میشن و sql متوجه میشه که هر رکورد چطوری از رکورد بعدی متمایز شده.
کوئری رو براتون تصحیح کردم( در واقع یک تک کوتیشن براتون اضافه کردم). شما باید به تعداد فیلدهای خودتون، مقادیر مناسب رو جایگزین کنید.
s = s + "insert into DateFact values('" + dataGridViewX1.Rows[i].Cells[0].Value + "','" + dataGridViewX1.Rows[i].Cells[1].Value + "',N'" + dataGridViewX1.Rows[i].Cells[2].Value + "',N'" + dataGridViewX1.Rows[i].Cells[3].Value + "')" + ";";
string s = "";
for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{
s = s + "insert into DataFact(Pid,Deal) values('" + dataGridViewX1.Rows[i].Cells[0].Value + "','" + dataGridViewX1.Rows[i].Cells[1].Value + "')" + ";";
}
s = s.Remove(s.Length - 1, 1);
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\bank\BAnbar.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
con.Open();
SqlCommand cmd = new SqlCommand(s, con);
cmd.ExecuteNonQuery();
con.Close();
درست شد اسم فیلد های بانک اطلاعاتی رو باید می نوشتم
s = s + "insert into DataFact(Pid,Deal) values('" + dataGridViewX1.Rows[i].Cells[0].Value + "','" + dataGridViewX1.Rows[i].Cells[1].Value + "')" + ";";
این قسمتش
DataFact(Pid,Deal)
ممنون از کمک همتون