PDA

View Full Version : مبتدی: ارسال از گریدویو به جدولی در اکسس



farzadini
دوشنبه 24 فروردین 1394, 21:29 عصر
سلام و احترام. من یک جدولی در اکسس دارم که Table1 باشه مثلا دوتا ستون داره نام و فامیل. حالا در طرف سی شارپ یک گریدویو هست که میخوام اطلاعات اون (شامل دو ستون نام و فامیل) به این جدول اضافه بشه. ممکنه کمی توضیح بدید من چطور میتونم این اتصال روبرقرار کنم؟
یعنی کانکشن هارو ساختم . حالا باید چطوری سطرها و ستونها رو به طرف پایگاه داده مشخص کنم. اینو اگر ممکنه توضیح بدید بسیار ممنون میشم

khokhan
دوشنبه 24 فروردین 1394, 21:49 عصر
سلام و احترام. من یک جدولی در اکسس دارم که Table1 باشه مثلا دوتا ستون داره نام و فامیل. حالا در طرف سی شارپ یک گریدویو هست که میخوام اطلاعات اون (شامل دو ستون نام و فامیل) به این جدول اضافه بشه. ممکنه کمی توضیح بدید من چطور میتونم این اتصال روبرقرار کنم؟
یعنی کانکشن هارو ساختم . حالا باید چطوری سطرها و ستونها رو به طرف پایگاه داده مشخص کنم. اینو اگر ممکنه توضیح بدید بسیار ممنون میشم
کافیه تا ردیفهای گرید رو درون یه حلقه چک کنی و با یه کوئری ستونهای گرید رو به ستونهای متناظر درون جدول اختصاص بدی


for(int i=0; i< dataGridView1.Rows.Count-1;i++)
{
Strquery= @"Insert into yourTableName(Name,lastName,....) values ("
+ dataGridView1.Rows[i].Cells[0].Value +", "
+ dataGridView1.Rows[i].Cells[1].Value +".......);";
cmd.CommandText = Strquery;
cmd.ExecuteNonQuery();
}

farzadini
چهارشنبه 26 فروردین 1394, 21:51 عصر
کافیه تا ردیفهای گرید رو درون یه حلقه چک کنی و با یه کوئری ستونهای گرید رو به ستونهای متناظر درون جدول اختصاص بدی


for(int i=0; i< dataGridView1.Rows.Count-1;i++)
{
Strquery= @"Insert into yourTableName(Name,lastName,....) values ("
+ dataGridView1.Rows[i].Cells[0].Value +", "
+ dataGridView1.Rows[i].Cells[1].Value +".......);";
cmd.CommandText = Strquery;
cmd.ExecuteNonQuery();
}

با تشکر از توجهتون. فقط اینکه من این کد رو البته مینویسم چندین تا ایراد میگیره که مربوط به سمی کالم ها و براکت ها و اینجور چیزهاست. ممکنه این کد strquery رو فقط برای 2 تا ستون (اسم و فامیل) دوباره تعریف کنید. یعنی منظورم از اینجائی که ....Strquery= @"Insert تایپ کردید
خیلی خیلی ممنون.

khokhan
پنج شنبه 27 فروردین 1394, 11:59 صبح
.................................................. ..............................

private void button1_Click(object sender, EventArgs e)
{
OleDbConnection conn = new OleDbConnection();
OleDbCommand cmd = new OleDbCommand();
conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Environment.CurrentDirectory + @"\farzadini.accdb;Persist Security Info=False;";
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
string name = dataGridView1.Rows[i].Cells[0].Value.ToString();
string lname = dataGridView1.Rows[i].Cells[1].Value.ToString();
string Strquery = @"Insert into zirna(f_name,L_name) values ('" + name + "', '" + lname + "');";
cmd.CommandText = Strquery;
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("فرت گردید");
conn.Close();
}
}

farzadini
پنج شنبه 27 فروردین 1394, 16:59 عصر
.................................................. ..............................

private void button1_Click(object sender, EventArgs e)
{
OleDbConnection conn = new OleDbConnection();
OleDbCommand cmd = new OleDbCommand();
conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Environment.CurrentDirectory + @"\farzadini.accdb;Persist Security Info=False;";
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
string name = dataGridView1.Rows[i].Cells[0].Value.ToString();
string lname = dataGridView1.Rows[i].Cells[1].Value.ToString();
string Strquery = @"Insert into zirna(f_name,L_name) values ('" + name + "', '" + lname + "');";
cmd.CommandText = Strquery;
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("فرت گردید");
conn.Close();
}
}




متشکرم این مشکل حل شد. البته میاد پایین توی cmd.ExecuteNonQuery(); خطای زیر رو میگیره:
{"Malformed GUID in query expression 'DataGridViewTextBoxCell { ColumnIndex=0'."}
من در جدول اکسس ستونهام همشون از نوع long text هستند و بنظرم از طرف گریدویو هم فیلدهائی که میان یکیشون جمله هست و یکی دیگر هم ترکیب عدد و حرف. نفهمیدم مشکلم چی هست. ممکنه راهنمائی کنید؟

h.gheidrlou
پنج شنبه 27 فروردین 1394, 22:42 عصر
سلام
خیلی جالب بود چون من خیلی وقت بود این سوال برام بود ولی کسی جواب نداشت
اگه بشه یه نمونه کوچک ساخته و اینجا گذاشته بشه عالیه
درضمن میخواهیم در دیتا گرید باززدن هرکید اگه مثلا ستون بدهکار بستانکار داشته باشیم جمع ستونها در ذیل دیتا در لیبل هایی نمایش داده بشه و خیلی چیزای دیگه
متشکرم
جناب کوهکن و فرزاد جان یه جوری بیاین با هم در ارتباط علمی باشیم شماها که استاد هستین
شماره من09133270675 که منابع اطلاعاتی این سایت پربار تر باشه

farzadini
جمعه 28 فروردین 1394, 21:39 عصر
فکر کنم ربط به جدولم توی اکسس داشته باشه. آخه من قبلا چند تا عدد رو با زدن باتن به جدول کلید ارسال میکرد. حالا نمیدونم مشکلش چی هست. دیگه اینکه این خطا
ColumnIndex=0 رو نمیدونم منظورش چی هست یعنی ستون صفرم خالیه؟ یا چیزه دیگش نمسدونم.