View Full Version : مشکل در تبدیل رشته به عدد صحیح
yuttrim20
شنبه 27 خرداد 1391, 21:01 عصر
سلام کسی از دوستان میدونه این کد چه اشکالی داره؟
query = "SELECT id FROM movie WHERE id=@id";
com.CommandText = query;
com.Connection = conn;
com.Parameters.AddWithValue("@id",Convert.ToInt32(Label1.Text.ToString()));
int id1 = Convert.ToInt32(com.ExecuteScalar());
query = "INSERT INTO [nazar sanji] VALUES(@id,@rate,@id1)";
com.CommandText = query;
com.Connection = conn;
com.Parameters.AddWithValue("@rate", title);
com.Parameters.AddWithValue("@id", id);
com.Parameters.AddWithValue("@id1", id1);
زمان اجرا تو این خط:
com.Parameters.AddWithValue("@id",Convert.ToInt32(Label1.Text.ToString()));
این خطا رو میده:
Input string was not in a correct format.
kebriya
شنبه 27 خرداد 1391, 21:08 عصر
محتوای Label1.Text چیه؟ از Int32.Parse هم میتونی استفاده کنی
kebriya
شنبه 27 خرداد 1391, 21:12 عصر
http://www.codeproject.com/Articles/32885/Difference-Between-Int32-Parse-Convert-ToInt32-and
yuttrim20
شنبه 27 خرداد 1391, 21:22 عصر
ممنون از راهنمایی اما میخوام بدونم اشکال کارم کجاس که خطا میده!
Saeed_m_Farid
شنبه 27 خرداد 1391, 21:37 عصر
ممنون از راهنمایی اما میخوام بدونم اشکال کارم کجاس که خطا میده!
اشکال کارت اینه که متن درون Label1.Text یه عدد صحیح نیست (اینجا (http://msdn.microsoft.com/en-us/library/b3h1hf19.aspx) رو مطالعه کنید)، یعنی :
فقط از کاراکتر های عددی تشکیل نشده، مثل 122sd235a * یا اعشاری هست، مثل 1234.65 : خطای FormatException (http://msdn.microsoft.com/en-us/library/system.formatexception.aspx) میگیری
خالی هست، یعنی null : خطای ArgumentNullException (http://msdn.microsoft.com/en-us/library/system.argumentnullexception.aspx) میگیری
خیلی بزرگ یا کوچک هست، مثل 13244135465435485465 :خطای OverflowException (http://msdn.microsoft.com/en-us/library/system.overflowexception.aspx) میگیری
پس قبل از com.Parameters.AddWithValue بیزحمت یه try ... catch میذارین و در قسمت try همونطورکه دوستان گفتن Int32.Parse (http://msdn.microsoft.com/en-us/library/b3h1hf19.aspx)انجام میدین و اگه تو catch نیافتاد بقیه کارها رو ادامه میدین، امیدوارم دیگه ابهامی نمونده باشه ...
omidamiry
یک شنبه 28 خرداد 1391, 01:57 صبح
عدد در تغییر موجودیت که آیا رشته است یا اینت باید درست و بدون علائم غیر عددی باشه و خود انسان باید به صورت معمولی به صورت عدد بخونه همون کانورت جواب میده
فقط مشکل مقدار محتوای لیبل است
yuttrim20
یک شنبه 28 خرداد 1391, 11:19 صبح
مشکلم حل نشد این کد:
query = "SELECT id FROM movie WHERE id=@id1";
com.CommandText = query;
com.Connection = conn;
try
{
com.Parameters.AddWithValue("@id1", Convert.ToInt32(Label1.Text.ToString()));
}
catch
{
int id1 = Convert.ToInt32(com.ExecuteScalar());
query = "INSERT INTO [nazar sanji] VALUES(@id,@rate,@id1)";
com.CommandText = query;
com.Connection = conn;
com.Parameters.AddWithValue("@rate", title);
com.Parameters.AddWithValue("@id", id);
com.Parameters.AddWithValue("@id1", id1);
}
اما بازم error داره!
Must declare the scalar variable "@id1".
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.