نوشتن تابع ساده گرفتن ورودی و نمایش خروجی
سلام من بدنبال نوشتن یه تابعی هستم که مقدار اولیه رو دریافت کنه و مقدار دوم رو توی خروجی خودش نمایش بده
هدف من اینه که چون از ترد ها استفاده می کنم نمیشه اینو توی ترد نوشت برنامه بعد چند بار پاسخ نمیده
به زبان ساده تر توی دیتابیس یه مقداری داریم ب اسم req این عبارتیه که کاربر وارد میکنه و مقداری که برنامه باید نمایش بده معادلش در Res هست
بوسیله تابع چطوری میشه نوشت
مثلا اگه تابهع اسم gettext باشه اینطوری بشه
messagebox (gettext(text1.text));
اگه داخل متن یک خوبی بود مثلا خوبم مرسی رو نمایش بده
تا اینجا رو نوشتم ولی ما بقیش و بلد نیستم
public string Search(string StrREQ) { string pasokh; SqlCommand cm = new SqlCommand(); SqlConnection cn = new SqlConnection(); SqlDataReader dr; string constring = @"Data Source =.; Initial Catalog = TelgramBot; Integrated Security = True"; string sql = "select * from TBL_Pasokh where Req = '" + StrREQ + "'"; cn = new SqlConnection(constring); cn.Open(); cm = new SqlCommand(sql, cn); dr = cm.ExecuteReader(); dr.Read(); if (dr.HasRows) { pasokh = dr.GetValue(2).ToString(); }
3 پاسخ
سلام، یک مقدار بیشتر توضیح بدید، الان مخوایید متد رو به صورت Thread پیاده سازی کنید یا مشکل دیگه ای دارید؟ البته فکر کنم مشکل شما اینه که مقدار رو داخل رشته جستجو کنه که باید از عبارت Like در قسمت Where استفاده کنید:
string sql = "select * from TBL_Pasokh where Req like N'%" + StrREQ + "%'";
یک موضوع دیگه اینکه می تونید از متد ExecuteScalar استفاده کنید:
string sql = "select top(1) from TBL_Pasokh where Req like N'%" + StrREQ + "%'"; n = new SqlConnection(constring); cn.Open(); cm = new SqlCommand(sql, cn); return (string)cm.ExecuteScalar();
کد شما درست بود منتها این خطا رو میده
System.InvalidCastException: 'Unable to cast object of type 'System.Int32' to type 'System.String'.'
وقتی آخرش to string میزارم مقدار ID جدول رو نمایش میده
نام فیلدی که قراره در خروجی کوئری نمایش داده بشه رو بعد از عبارت top اضافه کنید:
string sql = "select top(1) Res from TBL_Pasokh where Req like N'%" + StrREQ + "%'";