PDA

View Full Version : سوال: specifid cast is not valid



komeil64
جمعه 28 فروردین 1388, 20:28 عصر
با سلام
من توی پروژه ای که با دات نت 2005 نوشته بودم کد زیر اجرا میشد و مشکلی نداشت
اما توی 2008 با این ارور مواجه میشم:specifid cast is not valid
کد:



string idedeit = Request.QueryString["uid"];
Int32 ui = Convert.ToInt32(idedeit);
Int32 uidedit=ui-1364;
string FilePath = MapPath("~/App_Data/db.mdb");
OleDbConnection odcon = new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + FilePath);
OleDbCommand olecom = new OleDbCommand("select ID,username,pass,lfname,tel,address,email,website from tblusers where ID=" + uidedit + "", odcon);
odcon.Open();

OleDbDataReader dr = olecom.ExecuteReader(CommandBehavior.CloseConnecti on);
dr.Read();
TextBox1.Text = dr.GetString(1).ToString();
TextBox2.Text = dr.GetString(2).ToString();
TextBox3.Text = dr.GetString(3).ToString();
TextBox4.Text = dr.GetString(4).ToString();
TextBox5.Text = dr.GetString(5).ToString();
TextBox6.Text = dr.GetString(6).ToString();
TextBox7.Text = dr.GetString(7).ToString();

dr.Close();
olecom.Connection.Close();
odcon.Close();

salehbagheri
جمعه 28 فروردین 1388, 21:14 عصر
معمولاً اين سري اشكالات بخاطر تبديلات اشتباه بوجود مي آيد!

شما در بخش زير تبديلاتي انجام داديد كه بهتره اونها رو چك كنيد! (با استفاده از Break Point مقدار idedeit رو كنترل كنيد)



string idedeit = Request.QueryString["uid"];
Int32 ui = Convert.ToInt32(idedeit);

komeil64
جمعه 28 فروردین 1388, 22:35 عصر
ممنون از راهنماییتون اما نشد
اون کانورتو برداشتم فقط مقداری که فرستاده شده رو توی یه استرینگ ریختم بازم همین مشکل پیش اومد

علیرضا مداح
شنبه 29 فروردین 1388, 00:07 صبح
سلام دوست عزیز،
دقیقا" بر روی کدام خط با این Exception مواجه می شوید؟

komeil64
شنبه 29 فروردین 1388, 11:35 صبح
سلام
روی این خط


TextBox3.Text = dr.GetString(3).ToString();

که البته چک کردم از نظر نوع فیلد مشکلی نداشت

علیرضا مداح
شنبه 29 فروردین 1388, 11:46 صبح
پس احتمالا" مقدار فیلد مورد نظر با اندیس 3 در دیتابیس قابل تبدیل به String نیست،
پیش از فزاخوانی این متد ابتدا از DBNull نبودن مقدار فیلد با استفاده از متد IsDBNull اطمینان حاصل نمایید،/