PDA

View Full Version : مشکل در اجرای sqlcommand



tanha_nabash
سه شنبه 07 اسفند 1386, 18:41 عصر
سلام من کدم را در فایل ضمیمه قرار دادم و خطی که مشکل دارد را با رنگ قرمز نشان دادم
جدولم شامل (رمزکاربر ، تاریخ شروع ، تاریخ پایان ، شماره صفحه )می باشد
شماره صفحه را در ارایه ریختم وقتی اجرا می شود حلقه while یکبار اجرا می شود ولی بار دوم خطا می گیر د و می گوید متغییر @page_id موجود می باشد کمک کنید.

mp2009
چهارشنبه 08 اسفند 1386, 01:22 صبح
اون خطایی که میده رو اینجا بزار .
در ضمن اگه اسم متغیر Page_id رو عوض کنی فکر کنم درست بشه .
اون خطایی که میده رو بزار اینجا

tanha_nabash
چهارشنبه 08 اسفند 1386, 02:00 صبح
خوب گفتم که بار اول که while اجرا می شود هیچی بار دوم به Page_id@ گیر میده می گوید این متعییر موجوداست مثل حالتی که متغییر را دو بار تعریف کنی

mp2009
چهارشنبه 08 اسفند 1386, 02:16 صبح
بار دوم به Page_id@ گیر میده می گوید این متعییر موجوداست

Page_Id رو عوض کن و نامشو به یه چیز دیگه تغییر بده

tanha_nabash
چهارشنبه 08 اسفند 1386, 14:47 عصر
یعنی در هر بار اجرا while نام متغییر را عوض کنم؟
چطوری؟:متفکر::متعجب::عصبانی+ +::گریه:

mp2009
پنج شنبه 09 اسفند 1386, 13:07 عصر
بیا اینم کد



protected void Button1_Click(object sender, EventArgs e)
{
int[] Page_id2 = new int[21];
int i = 0;
foreach (ListItem li in CheckBoxList1.Items)
if (li.Selected)
{
Page_id2 [i] = Convert.ToInt32(li.Value);
i++;
}
i = 0;

SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["constring"]);
SqlCommand com = new SqlCommand("select User_id from Users where User_name=@User_name", con);
SqlCommand com1 = new SqlCommand("execute sp_InfoUser @User_id,@Date_start,@Date_finish,@Page_id", con);
com.Parameters.AddWithValue("@User_name", TextBox1.Text);
con.Open();

com1.Parameters.AddWithValue("@User_id", Convert.ToString(com.ExecuteScalar()));
com1.Parameters.AddWithValue("@Date_start", TextBox2.Text);
com1.Parameters.AddWithValue("@Date_finish", TextBox3.Text);

while (Page_id [i]2!= '\0')
{
com1.Parameters.AddWithValue ("@Page_id",Page_id2 [i]);
com1.ExecuteNonQuery();
i++;
}
con.Close();

}

tanha_nabash
شنبه 18 اسفند 1386, 07:38 صبح
اقای mp20009 مشکلم حل شد .البته انچه شما گفتید مثل خودوم بود باید تعریف کانیکشن و sqlcommand را در حلقه ی while بگذارم

mp2009
دوشنبه 20 اسفند 1386, 23:38 عصر
باید تعریف کانیکشن و sqlcommand را در حلقه ی while بگذارم

اینجوری با هر بار اجرای حلقه یک بار تراکنش صورت میگیره و سرعت برنامه پایین میاد.