PDA

View Full Version : سوال: ذخیره کردن گرید ویو در بانک



fool66
جمعه 13 اردیبهشت 1392, 18:08 عصر
سلام

من یه فرم دارم که دارای یه سری فیلد هست ، وقتی فیلد ها رو از کاربر می گیرم با کلید اضافه کردن به گرید ویو اضافه می شه حالا می خوام یه کلید بزارم که رکورد به رکورد گریدویو رو توی بانک ذخیره کنه ممنون میشم راهنمایی کنید

aghaagha
جمعه 13 اردیبهشت 1392, 18:18 عصر
سلام.چجوری به گرید ویو اضافه میشه؟به منم یادبده..............

erfan_urchin
جمعه 13 اردیبهشت 1392, 18:45 عصر
با این روش میتونی رکورد هایی رو که از کاربر توسط تکست باکس میگیری به دیتابیس اضافه کنی (البته اگه منظورتو درست فهمیده باشم)
SqlCommand scom = new SqlCommand("insert into t3(id,name,family values(" + textBox1.Text + ",'" + textBox2.Text + "'," + "'" + textBox3.Text + "')", sc);
sc.Open();
scom.ExecuteNonQuery();
sc.Close();

fool66
جمعه 13 اردیبهشت 1392, 19:23 عصر
با این روش میتونی رکورد هایی رو که از کاربر توسط تکست باکس میگیری به دیتابیس اضافه کنی (البته اگه منظورتو درست فهمیده باشم)
SqlCommand scom = new SqlCommand("insert into t3(id,name,family values(" + textBox1.Text + ",'" + textBox2.Text + "'," + "'" + textBox3.Text + "')", sc);
sc.Open();
scom.ExecuteNonQuery();
sc.Close();


نمی خوام مستقیم بفرستم به بانک
چون اطلاعات یه فاکتور هست باید تمام کالاهاشو بگیرم بعد بفرستم به بانک

veniz2008
جمعه 13 اردیبهشت 1392, 20:41 عصر
سلام.
با کد زیر میتونید رکوردهای گرید رو به جدول درج کنید:


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();

fool66
جمعه 13 اردیبهشت 1392, 20:45 عصر
s = s.Remove(s.Length - 1, 1);
این چکار میکنه؟؟؟؟

fool66
جمعه 13 اردیبهشت 1392, 20:51 عصر
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();

ارور میده

fool66
جمعه 13 اردیبهشت 1392, 21:20 عصر
اگه عکسش واضح نیست دوباره بزارم

sgh_programer
جمعه 13 اردیبهشت 1392, 21:21 عصر
بنام خدا
سلام
این رو تست کن ببین چی میشه
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();

fool66
جمعه 13 اردیبهشت 1392, 21:27 عصر
باز ارور داد

veniz2008
جمعه 13 اردیبهشت 1392, 21:33 عصر
s = s.Remove(s.Length - 1, 1);
این چکار میکنه؟؟؟؟
این آخرین سمی کالن ( ; ) رو که زیادی هست پاک میکنه. بقیه رکوردها با ; از هم جدا میشن و 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 + "')" + ";";

fool66
جمعه 13 اردیبهشت 1392, 21:38 عصر
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)

:لبخند:

ممنون از کمک همتون