نمایش نتایج 1 تا 13 از 13

نام تاپیک: سلام من می خوام یک جستجو با نام کالا کنم

  1. #1

    سلام من می خوام یک جستجو با نام کالا کنم

    با استفاده از id می تونم ولی با استفاده از نام کالا نمی شه
    این کد من
    var upConnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=forshgah;Integrated Security=True;Pooling=False");
    var upCommand = new SqlCommand("SELECT ghforosh FROM listkharid WHERE name = "+"'"+comboBox2.Text+"'", upConnection);
    upConnection.Open();
    SqlDataReader reader = upCommand.ExecuteReader();
    reader.Read();
    labghymat.Text = reader["ghforosh"].ToString();
    upConnection.Close();
    این خطا را می ده
    Invalid attempt to read when no data is present.

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1386
    پست
    55

    نقل قول: سلام من می خوام یک جستجو با نام کالا کنم

    دوست عزیز اگر مقداری که کوری شما بر میگردونه تنها یک سطر است از دستور
    command.ExecuteScalar
    می توانید استفاده کنید


    var upCommand = new SqlCommand("SELECT ghforosh FROM listkharid WHERE name = "+"'"+comboBox2.Text+"'", upConnection);
    upConnection.Open();
    object Data = upCommand.ExecuteScalar();
    Data
    --------------
    .
    .
    .
    upConnection.Close();

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1383
    محل زندگی
    تهران
    پست
    81

    نقل قول: سلام من می خوام یک جستجو با نام کالا کنم

    مشکل خطا با کد زیر رفع میشه :

    if (reader.Read())
    {
    if (reader["ghforosh"] != DBNull.Value)
    labghymat.Text = reader["ghforosh"].ToString();
    }


    احتمالا نام را فارسی می خوای جستجو کنی !
    در بانک اطلاعاتی نوع فیلد نام رو باید یونیکد انتخاب کنی nchar or nvarchar
    ممکنه مشکل از حروفی که تایپ می کنه داره مثلا حرف ی رو ي یا برعکس یا حروف دیگه .
    در کل مشکلات کار با فارسی زیاده.

  4. #4

    نقل قول: سلام من می خوام یک جستجو با نام کالا کنم

    منظورتان این جوری؟


    var upConnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=forshgah;Integrated Security=True;Pooling=False");
    var upCommand = new SqlCommand("SELECT ghforosh FROM listkharid WHERE name = "+"'"+comboBox2.Text+"'", upConnection);
    upConnection.Open();
    var data = upCommand.ExecuteScalar();

    labghymat.Text = data.ToString();
    upConnection.Close();

  5. #5

    Cool نقل قول: سلام من می خوام یک جستجو با نام کالا کنم

    به جای این دستور :
    labghymat.Text = data.ToString();
    بنویس :

    if(data.Read())
    {
    labghymat.Text = data.ToString();
    }

  6. #6

    نقل قول: سلام من می خوام یک جستجو با نام کالا کنم

    این که اصلا دیگه جستجو نکرد درست می گید نام کالا فارسیی

  7. #7

    نقل قول: سلام من می خوام یک جستجو با نام کالا کنم

    این خط رو هم اصلاح کن :

    var data = upCommand.ExecuteScalar();


    به جاش بنویس :
    var data = upCommand.ExecuteReader();

  8. #8
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1386
    پست
    55

    نقل قول: سلام من می خوام یک جستجو با نام کالا کنم

    object Data=(object)cmd.ExecuteScalar() ;
    string Data=(string)cmd.ExecuteScalar() ;

    از اینها هم میتوانی استفاده کنی

  9. #9

    نقل قول: سلام من می خوام یک جستجو با نام کالا کنم

    if(data.Read())
    {
    labghymat.Text = data.ToString();
    }



    این اصلا شرط رو چک نمی کنه

  10. #10

    نقل قول: مشکل خطا با کد زیر رفع میشه :

    این مشکل را حل نکرد چون اسم کالا برام نتونست پیدا کنه
    این شرط باعث پریدن از چاپ اسم کالا می شه

  11. #11

    نقل قول: مشکل خطا با کد زیر رفع میشه :

    این کار مسئله را دور زد یعنی این شرط فقط باعث شد نام کالا بازم چاپ نشه
    فقط خطا نگرفت

  12. #12

    نقل قول: سلام من می خوام یک جستجو با نام کالا کنم

    این دستور رو :
    var upCommand = new SqlCommand("SELECT ghforosh FROM listkharid WHERE  name = "+"'"+comboBox2.Text+"'", upConnection);


    رو با این عوض کن :
    var upCommand = new SqlCommand("SELECT ghforosh FROM listkharid WHERE  name = "+"N'"+comboBox2.Text+"'", upConnection);


  13. #13

    نقل قول: سلام من می خوام یک جستجو با نام کالا کنم

    کاملا درست بود ممنون علامت N باعث شد فارسی خونده شود

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •