-
1 ضمیمه
مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
با سلام
من یه گرید دارم که به هیچ جدولی در بانکم بایند نیست.کار به این صورت است که کاربر در گرید اطلاعات رو سطر به سطر پر می کنه بعد با زدن دکمه ذخیره این اطلاعات در بانک ذخیره می شه.من اینطوری کدمو نوشتم و لی اررور زیرو می ده.
کد HTML:
SqlDataAdapter d = new SqlDataAdapter("Insert into EmissionDoc (NumReceipt,AccCode,Center1)values('" + textBox1.Text + "','" + dataGridView1.Rows[i].Cells[1].Value.ToString() + "','" + dataGridView1.Rows[i].Cells[2].Value.ToString() + "')", connect);
DataTable t = new DataTable();
d.Fill(t);
ارروری که می ده:ضمیمه 68379
کارم خیلی لنگه بچه ها کمکم کنید
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
یه چیزی توی این کد که استفاده کردید nothing که این Error رو میده که احنمالا Selectcommand دیتاآداپرتون nothing. ضمنا شما گفتید اطلاعات تو گرید به جایی بایند نیست پس اون دستور da.fill(t) رو واسه چی نوشتین ؟ دستور fill واسه وقتی که بخواین اطلاعاتی رو از جدولی بخونید و توی یه دیتاتیبل بریزید. شما dataadapter نمیخواید و به نظر من تو یه for یک یکی ردیفهای گرید رو بخونید و یه SqlCommand تعریف کنید و دستور insertتون رو توی Commandtext اون بنویسید و commandتون رو Executenonquery بکنید
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
ببين اقا نيما
من متغير i رو ميبينم ولي دستور ++i رو که نشانگر رفتن به خط بعديه رو نميبينم شايد اشکال از اونه ولي به طور کلي مي توني از ديتا بيس استفاده کني که خيلي راحت تره اگر هم مي خواي به همين روش ادامه بدي مي توني با چک پوينت خيلي راحت ارور يابي کني... اگه بلدي که هيچ اگه نه يه درخاست بده برات روششو بزارم چون يکم ديرم شده.
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
سلام دوست عزیز کل کد من اینه:SqlConnection connection= new SqlConnection(@"server=saeed\software;trusted_conn ection=yes;database=saeed");
try
{
connection.Open();
for(int i=0;i<=dataGridView1.Rows.Count;i++)
{
string sql = "Insert Into Table_1 (ID,Name) Values (@ID,@Name)";
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.Parameters.AddWithValue("Id",dataGridView1.Row s[i].Cells[0].Value.ToString());
cmd.Parameters.AddWithValue("Name", dataGridView1.Rows[i].Cells[1].Value.ToString());
cmd.ExecuteNonQuery();
}
}
catch (Exception exp)
{
MessageBox.Show(exp.Message.ToString());
}
finally
{
connection.Close();
}
ممنون میشم اگه کمکی کنین؟
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
cmd.Parameters.AddWithValue("@Id",dataGridView1.Row s[i].Cells[0].Value.ToString());
cmd.Parameters.AddWithValue("@Name", dataGridView1.Rows[i].Cells[1].Value.ToString());
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
دوست عزیز اینی که شما نوشتین همونیه که خودم نوشتم!من مشکل ارووری که در بالا نوشتمو دارم سیستم موقع insert اررور بالا رو می ده اگه میشه واضح تر توضیح بدین.ممنونم
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
cmd.Parameters.AddWithValue("@Id"
cmd.Parameters.AddWithValue("@Name"
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
دوست عزیز حل نشد.دوستان کسی نیست بتونه کمکی کنه؟
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
توی دستور حلقه از count یکی کم کنید. dataGridView1.Rows.Count-1
البته اگر دستورات قبلی کاملا درست باشن باید اطلاعات توی بانک دخیره می شدند و اخطار هم زده می شد! اینطوری بود؟ اگر فقط اخطار می زد بگید تا یه نمونه برنامه براتون بزارم.
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
--------------------------------------------
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
سلام
ببین دوست عزیز من میخوام کاربر ابتدا یک سطر یا دوسطر و یا ...در گرید تایپ کنه سپس با زدن دکمه ذخیره این سطرها هر چندتا سطر که هست بره تو جدول هم به همون تعداد سطر ذخیره بشه.من هر کاری می کنم ارور بالا رو می ده.نمونه کد کامل داری بدی؟ممنون میشم
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
توی حلقه کاری که گفتم را انجام دادید؟ شما از صفر تا تعداد سطرها، دارید اطلاعات ارسال می کنید. مثلا اگر 4 تا سطر داشته باشید شما از صفر تا 4 دارید ارسال می کنید که می شه 5 تاسطر! وقتی می رسه به عدد آخر می بینه اطلاعاتی وجود نداره برای همین این اخطار رو می زنه
شما توی شرط حلقه یکی کم کنید. اگر باز اخطار داد بفرمایید تا نمونه برنامه براتون بزارم.
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
بله کم کردم الان دیگه هیچی insert نمی کنه اینم کدم:
SqlConnection connect = new SqlConnection();
connect.ConnectionString = Total.Properties.Settings.Default.Connection.ToStr ing();
for (int i = dataGridView1.Rows.Count - 1; i <= 0; i--)
{
try
{
connect.Open();
string s = "Insert into EmissionDoc (Id,NumReceipt,AccCode,Center1)values(@Id,@NumRece ipt,@AccCode,@Center1)";
SqlCommand Cmd = new SqlCommand(s, connect);
Cmd.Parameters.AddWithValue("Id", Convert.ToInt32(dataGridView1.Rows[i].Cells[0].Value.ToString()));
Cmd.Parameters.AddWithValue("NumReceipt", Convert.ToInt32(textBox1.Text));
Cmd.Parameters.AddWithValue("AccCode", dataGridView1.Rows[i].Cells[1].Value.ToString());
Cmd.Parameters.AddWithValue("Center1", dataGridView1.Rows[i].Cells[2].Value.ToString());
Cmd.ExecuteNonQuery();
}
catch (Exception exp)
{
MessageBox.Show(exp.Message.ToString());
}
finally
{
connect.Close();
}
}
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
خب با حلقه ای که شما نوشتید نباید هم چیزی insert کنه! ببینید دوست من، شمارنده حلقه را برابر تعداد سطرها کردی و تا وقتی کوچکتر از صفره دستورات اجرا می شن. خب معلومه اگر دیتاگردویو توش اطلاعات باشه این حلقه هم اجرا نمی شن.
نیما جان شما از کد زیر استفاده کنید. جواب می گیرید:
SqlConnection connect = new SqlConnection();
connect.ConnectionString = Total.Properties.Settings.Default.Connection.ToStr ing();
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
try
{
connect.Open();
string s = "Insert into EmissionDoc (Id,NumReceipt,AccCode,Center1)values(@Id,@NumRece ipt,@AccCode,@Center1)";
SqlCommand Cmd = new SqlCommand(s, connect);
Cmd.Parameters.AddWithValue("Id", Convert.ToInt32(dataGridView1.Rows[i].Cells[0].Value.ToString()));
Cmd.Parameters.AddWithValue("NumReceipt", Convert.ToInt32(textBox1.Text));
Cmd.Parameters.AddWithValue("AccCode", dataGridView1.Rows[i].Cells[1].Value.ToString());
Cmd.Parameters.AddWithValue("Center1", dataGridView1.Rows[i].Cells[2].Value.ToString());
Cmd.ExecuteNonQuery();
}
catch (Exception exp)
{
MessageBox.Show(exp.Message.ToString());
}
finally
{
connect.Close();
}
}
-
1 ضمیمه
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
خیلی ممنونم که وقتت رو در اختیار من گذاشتی.این کدی که شما دادین هم جواب نمی ده و پیغام زیرو می ده:ضمیمه 68487
-
1 ضمیمه
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
بفرمایید این هم یه نمونه ساده:
ضمیمه 68489
اگر باز ارور داد احتمالا از تبدیل هایی که انجام می دید هست. می تونید یه کاری بکنید. try catch رو بردارید ببینید کدام دستور ارور میده.
-
2 ضمیمه
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
دوست عزیز یه نگاه به این برنامه بنداز query جدولشم نوشتم تو sql اجرا کن و برنامه رو اجرا کن ببین ارور از چیه؟ببین فقط طریقه کار به این صورته که ما حتما باید دو سند بزنیم برنامه حسابداری دوبله بعد از زدن دو سند دکمه ذخیره رو می زنیم که ارور:ضمیمه 68522شما سطرها رو دستی پر کنین
این هم فرم به همراه جدولش نام بانکتم بزارtotal
https://barnamenevis.org/images/misc/pencil.pngممنونم
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
قسمت دیزاینر فرمی که گذاشته بودید بعد از اد کردن فرم نمی اومد. برای همین نشد تستش کنم.
ببینید دوست من، بعد از اینکه این اخطار زده می شه آیا اطلاعاتی هم توی بانک دخیره می شه؟ اخطار از کدام دستوره؟
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
دوست عزیز مشکل اینجاست که موقع insert اگه کاربر فیلدی رو وارد نکنه بعد دکمه ذخیره رو بزنه این پیغام ظاهر میشه.در واقع میگه باید تمام فیلدها پر بشن.من نمی خوام اینطوری باشه.در ضمن من در جدول تیک null رو برای همه فیلد هام زدم که null پذیر هم باشه ولی نمیشه که بشه:لبخندساده:
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
شما قبل از ارسال داده ها، آنها را هم تبدیل می کنید؟ مثلا یک سلول رشته را به اینت تبدیل می کنید؟
-
نقل قول: مشکل در وارد کردن سطرهای گریدی که به جدول بایند نیست در بانک؟
نه.هیچ تبدیلی انجام نمی شه