الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة استعادة معلومات.. لا أستطيع .. أريد أن أضيف If

بدأه BLEACHHeart في 8 أغسطس 2008 · 3 رد · 676 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سلام عليكم ..

أوجه مشكلة.. الآن بعد تم الأتصال بعد داتا بيس و تأكد من الرقم الذي أدخله المستخدم صحيح.. أريد أن أضيف if statment جديدة لتتأكد من صلاحية بطاقته أن كان فيه ما يكفي ليغطي المرور أو لا.. لكل لا أعرف كيف يتم الأمر .. جننت.. هل من أحد يستطيع مساعدتي..

  try		{			  string hasdata;			SqlConnection myconnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\football.mdf;Integrated Security=True;User Instance=True");			
SqlCommand myCommand = new SqlCommand("Select 'CardSerialN','cardamount' from card Where CardSerialN='" + TextBox1.Text + "'and cardamount='" + DropDownList1.SelectedValue + "'", myconnection);
myCommand.Connection.Open();						
hasdata = (string)myCommand.ExecuteScalar();		
myCommand.Connection.Dispose();
if (hasdata == "CardSerialN")	{
if (DropDownList1.SelectedValue>= "cardamount")
{Response.Write("Amont less"); }			
			}			
else
			{				
Response.Write("data not exsit");	}
}
		catch (Exception ex)	{			
Response.Write("Error:" + ex.Message);
}

قمت بفتح جهة أتصال جديدة عبر هذا الكود

try
{ 
string hasdata;
string Amount;
SqlConnection myconnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\football.mdf;Integrated Security=True;User Instance=True");
SqlCommand myCommand = new SqlCommand("Select 'CardSerialN','cardamount' from card Where CardSerialN='" + TextBox1.Text + "'", myconnection);
SqlCommand myAmmount = new SqlCommand("Select 'cardamount' from card Where cardamount='" + DropDownList1.SelectedValue + "'", myconnection);
myCommand.Connection.Open();
myAmmount.Connection.Open(); 
hasdata = (string)myCommand.ExecuteScalar();
Amount = (string)myAmmount.ExecuteScalar();
myCommand.Connection.Dispose();
myAmmount.Connection.Dispose();

if (hasdata == "CardSerialN")
{
if (DropDownList1.SelectedValue>= "cardamount") {Response.Write("Amont less"); }

}
else
{
Response.Write("data not exsit");
}

}
catch (Exception ex)
{
Response.Write("Error:" + ex.Message);

}


{

Response.Write("Error:" + ex.Message);

}

}

اذا أضيف أكبر من < تظهر لي مشكلة تقول

CS0019: Operator '>=' cannot be applied to operands of type 'string' and 'string'

تعبت و مستعجل جداً على تصليح هذا الكود من يتمكن في الموضوع لا يبخل علي لطفاً..

رحمه والدكم

رفعت الملف لكم المشكلة بصفحة reservation.aspx

SQLDateBase.rar

تم تعديل هذه المشاركة بواسطة BLEACHHeart في 8 أغسطس 2008 في 21:47

#2
اقتباس
CS0019: Operator '>=' cannot be applied to operands of type 'string' and 'string'

انت محتاج < في حالة الارقام لو كانت ال strings دي عبارة عن ارقام اعملها casting الي ارقام int مثلا

او تعمل operator overloading

بصراحة الكود مش فاهمه اوي بس انت بتقول

SqlCommand myCommand = new

SqlCommand("Select 'CardSerialN','cardamount' from card Where CardSerialN='" + TextBox1.Text + "'", myconnection);

و بعدين مستخدم ExecuteScalar لو انت محتاج قيمة واحدة غير الاستعلام للمطلوب

و لو محتاج اكتر من قيمة استخدم ExecuteReader

اكتب الكود بالظبط اللي فيه المشكلة

#3

مرحبا.. أخي أحمد و عذراً على التأخير..

سأخبرك بما أريد أن أفعل..

أريد أن يقوم المستخدم بأدخل رقم بطاقته بعد ان يدخله يقوم السستم بتأكد من الرصيد ( ان به ما يكفي أو الرصيد فارغ ) و من بعد ذلك يقوم تأكد أن قام الشخص بستخدم هذه البطاقة مسبقاً أو لأول مرة..

أريدأن أقحم أكثر من if من جدوال مختلفة بداخل الكود ..

لكني لازلت أتعلم.. هل لديك من أستراتجية واضح أو طريقة أسهل أتبعه..

شكراً لك

#4
SELECT cardamount FROM card  WHERE CardSerialN = value

علي العموم في حالة ان جملة السكوال غير ثابتة و تتغير حسب متغيرات متعددة

يفضل استخدام dynamic sql ابحث عنها

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…