PDA

View Full Version : تبدیل session به داده نوع Int



rahjoya
دوشنبه 23 اسفند 1395, 13:48 عصر
سلام. چطور میتونم یک session را به int تبدیل کنم. هر دستوری مینویسم قبول نمیکنه.
Convert.ToInt16 (Session["p"])
int)Session["p"]

Mag-Mag
دوشنبه 23 اسفند 1395, 13:58 عصر
سلام
احتمالا سشنوتون مقدار نداره
برای راهنمایی بهتر ، متن خطاتونو بزارید

اینو امتجان کنید

int sessionValue = (Session["p"] != null && Session["p"] != "" ? Convert.ToInt16(Session["p"]) : 0);

rahjoya
سه شنبه 24 اسفند 1395, 12:37 عصر
report.Dictionary.DataSources["datasource"].Parameters["m"].Value =int.Parse(Session["p"].ToString());
این کد برنامه است

can not implicitly convert type int to string
این خطا را میدهد

Mag-Mag
چهارشنبه 25 اسفند 1395, 08:23 صبح
خوب شما چرا داری تبدیل به اینت میکنی
اینطوری بنویس


report.Dictionary.DataSources["datasource"].Parameters["m"].Value = Session["p"].ToString();

rahjoya
چهارشنبه 25 اسفند 1395, 10:34 صبح
mag-mag از پیگیریتون متشکرم
اولش همینطوری که شما گفته بودین نوشته بودم ولی ارور داد که
object reference not set to an instance of an object

یک فایل استیمول دارم که یه یک استورپروسیجر در بانک وصله و سه تا پارامتر دارد. در یک صفحه ای. اس . پی از دراپ داون مقدار این سه تا پارامتر گرفته شده و با سشن به صفحه دیگری فرستاده میشه و از این صفحه پارامترهای استیمول مقداردهی شود. دو تا از سشن ها بدون هیچ مشکلی منتقل میشوند ولی یکی منتقل نمیشه. تنها تفاوتی که با بقیه داره اینه که در بانک نوع داده اش int هست ولی اونای دیگه varchar برای همین میخواستم سشن را تبدیل کنم.

Mag-Mag
چهارشنبه 25 اسفند 1395, 12:26 عصر
اینطوری بنویسی نباید خطا بده

report.Dictionary.DataSources["datasource"].Parameters["m"].Value = (session["p"] != null && session["p"] != "" ? session["p"].ToString() : "0");

چون خطای
object reference not set to an instance of an object
برای null بودنه
و ما داریم چک میکنیم نال نباشه

rahjoya
چهارشنبه 25 اسفند 1395, 13:43 عصر
report.Dictionary.DataSources["datasource"].Parameters["m"].Value = (session["p"] != null && session["p"] != "" ? session["p"].ToString() : "0");

این خط را در کد امتحان کردم ولی همان پیغام را دارم
:ناراحت::ناراحت:

Mag-Mag
چهارشنبه 25 اسفند 1395, 15:00 عصر
ببین سمت راست تساوی که عمرا خطای object refrence داشته باشه
باید سمت چپ رو چک کنی

ایا
DataSources["datasource"].Parameters["m"]
مقدار درستی هست؟
مثلا

مقدار

string aa= (session["p"] != null && session["p"] != "" ? session["p"].ToString() : "0");



رو چک کن
یک Break Point بزار ببین مقدار aa چند میشه
یک Break Point هم روی خط


report.Dictionary.DataSources["datasource"].Parameters["m"].Value

بزار
تا مطمئن شی خطا از کجاست

rahjoya
چهارشنبه 23 فروردین 1396, 10:43 صبح
خطا از قسمت چپ عبارت است

report.Dictionary.DataSources["datasource"].Parameters["m"].Value


میخواهم مقدار session سمت راست، به عنوان پارامتر به گزارش داده بشه. ولی مقدار سمت چپ که پارامتر گزارش است را خطای null میده