PDA

View Full Version : مبتدی: نمایش اطلاعات درون DataGridView



ehsanocx
پنج شنبه 15 دی 1390, 19:17 عصر
سلام دوستان من با این دستور اطلاعات رو درون بانکم ذخیره می کنم.

مشکل من اینجاست که وقتی اطلاعات رو ذخیره می کنم اطلاعات رو داخل datagridview نمایش نمیده . وقتی فرم رو میبندم و دوباره باز می کنم اطلاعات رو داخل dataGridview نمایش میده. باید چیکار کنم که اطلاعات رو به محض ذخیره شدن درون dataGridView نمایش یده؟



private void CmdSave_Click(object sender, EventArgs e)
{

if (txtNameKetab.Text != "" && txtTalif.Text != "" && txtNasher.Text != "" && txtSaleEnteshar.Text != "" && txtNobatChap.Text != "" && txtTedad.Text != "" && txtGheymat.Text != "" && ComboNoeKetab.Text != "")
{


SqlConnection objConnection = new SqlConnection("Data Source=.;Initial Catalog=Library;Integrated Security=True;");
SqlDataAdapter objDataAdapter = new SqlDataAdapter();
DataSet objDataSet = new DataSet();
SqlCommand objCommand = new SqlCommand();
// Open the connection, execute the command
objConnection.Open();

// Set the SqlCommand object properties...
objCommand.Connection = objConnection;
//objCommand.CommandText = "Insert into Book"+"(NameKetab, Talif, Nasher, SaleEnteshar,NobatChap,Tedad,Gheymat,NoeKetab)"+" values('" + txtNameKetab.Text + "','" + txtTalif.Text + "','" + txtNasher.Text + "','" + txtSaleEnteshar.Text + "','" + txtNobatChap.Text + "','" + txtTedad.Text +txtGheymat.Text + "','" + ComboNoeKetab.Text +"')";
objCommand.CommandText ="INSERT INTO Book " +
"(NameKetab, Talif, Nasher, SaleEnteshar,NobatChap,Tedad,Gheymat,NoeKetab) " +
"VALUES(@NameKetab,@Talif,@Nasher,@SaleEnteshar,@No batChap,@Tedad,@Gheymat,@NoeKetab)";

objCommand.Parameters.AddWithValue("@NameKetab", txtNameKetab.Text);
objCommand.Parameters.AddWithValue("@Talif", txtTalif.Text);
objCommand.Parameters.AddWithValue("@Nasher", txtNasher.Text);
objCommand.Parameters.AddWithValue("@SaleEnteshar", txtSaleEnteshar.Text);
objCommand.Parameters.AddWithValue("@NobatChap", txtNobatChap.Text);
objCommand.Parameters.AddWithValue("@Tedad", txtTedad.Text);
objCommand.Parameters.AddWithValue("@Gheymat", txtGheymat.Text);
objCommand.Parameters.AddWithValue("@NoeKetab", ComboNoeKetab.Text);
MessageBox.Show("اطلاعات ذخیره شد", "ذخیره اطلاعات");

// Execute the SqlCommand object
// to insert the new data...
try
{
objCommand.ExecuteNonQuery();
}
catch(SqlException SqlExceptionErr)
{
MessageBox.Show(SqlExceptionErr.Message);
}
// Close the connection...
objConnection.Close();
}
else
{
MessageBox.Show("لطفا اطلاعات را کامل وارد کنید", "خطا");


}

}

ehsanocx
پنج شنبه 15 دی 1390, 19:21 عصر
یک سوال دیگه دستوراتی که برای ذخیره اطلاعات نوشتم کار می کنه ولی می خوام بدونم راه راحت تری هم برای ذخیره اطلاعات وجود داره که من بتونم با نوشتن کد کمتری ،اطلاعات رو بتونم درون بانک ذخیره کنم؟

mohammad kafiyan
پنج شنبه 15 دی 1390, 19:28 عصر
دوست عزیز اطلاعات را در همان فرمی که datagirdview هست insert میکنی یا فرم جدا در نظر گرفتی و در ضمن من در کدها جایی نمی بینم که datagirdview پر کنی
این دستورت را بعد از عملیات insert اضافه کن


dataGridView1.DataMember="name_table"
.dataGridView1.DataSource = ds;

mohammad kafiyan
پنج شنبه 15 دی 1390, 19:29 عصر
بله با استفاده linq to sql اگر آشنایی داشته باشی

ehsanocx
پنج شنبه 15 دی 1390, 19:40 عصر
فرمی که توش اطلاعات ذخیره می کنم و datagridview داخلشه یکیه.



MessageBox.Show("اطلاعات ذخیره شد", "ذخیره اطلاعات");
dataGridView1.DataMember="Book"
dataGridView1.DataSource =objDataSet;





کد رو اینطوری تنظیم کردم به اسم بانک گیر میده و پیغام میده چرا؟
80226
محل کد رو درست گذاشتم؟

Hybrid
پنج شنبه 15 دی 1390, 19:50 عصر
سلام،

شما DataSet رو کجا پر کردین که حالا میخواین ازش استفاده کنین؟؟؟

Mahmoud Zaad
پنج شنبه 15 دی 1390, 20:12 عصر
سلام
دوست عزیز شما یه کدی توی لود فرم نوشتید که وقتی فرم رو می بندید و باز می کنید تغییرات اعمال شده رو نمایش می ده، خب حالا همین کد رو بعد از سایر عملیات مثل درج یا حذف هم بنویسید البته بهتره کدها رو به صورت یه تابع بنویسید که از تکرار هم جلوگیری کرده باشید.

ehsanocx
پنج شنبه 15 دی 1390, 22:48 عصر
کسی نمی دونه چطوری می تونم این پیغام رو بر طرف کنم؟ و این پیغام بخاطر چیه؟

arefba
جمعه 16 دی 1390, 01:25 صبح
ببین گلم
قضیه از این قرار کد رو همینطوری دارم مینویسم اگه خطا داد حلال کن


sqldataadapter da=new sqldataadapter("select * from book ",objConnection)

dateset ds=new dataset();

da.fill(ds,"book)

حالا دیتا گرید رو به نام دیتا ست میزنیم همون کاری رو که کردی
این رو تبدیل به یه تابع کن بعد از اینسرت جدید تابع رو اجرا کن