PDA

View Full Version : چرا خطای فوق رخ میدهد



nokia1200
سه شنبه 14 آذر 1391, 18:34 عصر
دوستان من برای حذف از کد زیر استفاده میکنم اما نمیدونم چرا خطا میده مشکلش کجاست
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

sqlDataAdapter1.DeleteCommand.Connection = sqlConnection1;
sqlDataAdapter1.DeleteCommand.CommandText = "delete from ali where (id=@i)";
sqlDataAdapter1.DeleteCommand.Parameters.Add("@i", SqlDbType.Int);

long s;
s = (long)dataGridView1.SelectedRows[0].Cells[0].Value;

sqlDataAdapter1.DeleteCommand.Parameters["@i"].Value = s;

sqlConnection1.Open();
sqlDataAdapter1.DeleteCommand.ExecuteNonQuery();
sqlConnection1.Close();

IFA_USER
سه شنبه 14 آذر 1391, 18:50 عصر
سلام

بررسی کن



long s;
s = (long)dataGridView1.SelectedRows[0].Cells[0].Value;



بدون خطا اجرا میشه.

nokia1200
سه شنبه 14 آذر 1391, 19:11 عصر
سلام

بررسی کن



long s;
s = (long)dataGridView1.SelectedRows[0].Cells[0].Value;



بدون خطا اجرا میشه.


بری کردم هیچ نتیجه ای نداشت :عصبانی++:

IFA_USER
سه شنبه 14 آذر 1391, 19:14 عصر
حطا میده یا نه .اگر خطا بده یعنی اینجای کدت مشکل داره . و ربطی به دستور SQL نداره. چون خطایی که نوشتی به احتمال زیاد برای این بخشه

می تونی یه مقدار ثابت که میدونی حتما وجودداره تو جدولت بزاری و مقدار رو از GridView نگیری.

black_binary
سه شنبه 14 آذر 1391, 19:21 عصر
s را باید از نوع int بگیری نه long

nokia1200
سه شنبه 14 آذر 1391, 22:22 عصر
s را باید از نوع int بگیری نه long

بازم همین خطا رو میده

nokia1200
سه شنبه 14 آذر 1391, 22:40 عصر
دوستان ممنون مشکل از جدول در پایگاه داده بود ، درست شد بازم ممنون