ماحل المشكلة المعروضة في الصورة المشكلة عقدتني لقد بسطت البرنامج قدر المستطاع حتى اعرف السبب
عندي مشكلة في ادخال لقاعدة البيانات
الاغلب انو يكون الخطا بكتابة المتغير str
عدد البارمتريات لا يتناسب مع عدد الحقول
او ربما القيم المدخله في textbox1 ,textbox2 لا تتناسب مع نوع الحقول
تم تعديل هذه المشاركة بواسطة kokonassar في 11 سبتمبر 2006 في 14:35
اسماعيل نصار
"آخر الأخبار: تقرير للصليب الأحمر يقول إن اسرائيل تخرق قوانين الاحتلال"
السلام عليكم
انا هقترح عليك اقتراح
انا شايف انك لم تستخدم ال Parameters يعني جمله INSERT بتاعتك عباره عن نص عادي
و الافضل طبعا انك تستخدم ال Parameters لاضافه المعاملات في الامر و ده لحمايه الكود بتاعك من حاجه اسمها SQL Injection
وكمان ياريت لو تفصل الكود بتاع ال SQL عن كود البرمجه يعني تستخدم حاجه اسمها Tiers او تقسم البرنامج Layers
مثلا
Data Layer
Business Layer
Presentation Layer
المهم افضل استخدام الاجراءات المخزنه في الحالات دي
دي مثال علي الكلام ده هوه كود سي شارب مش هيفرق كتير
SqlConnection con = SomeConnection();
try
{
SqlCommand cmd = new SqlCommand("SomeStoredProcedure", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@p1", SqlDbType.NVarChar, 64).Value = SomeVariable;
cmd.Parameters.Add("@p2", SqlDbType.NVarChar, 64).Value = SomeVariable;
con.Open();
cmd.ExecuteNonQuery();
finally
{
con.Close();
}و الاخ kokonassar
قال الملوحوظ من رساله الخطأ
و بالله التوفيق
اخي احمد الطاهر اشكرك انا بالعادة استخدم ال dataset لكن هذا المثال الذي في الصورة رأيته في احد الكتب
ولقد اثارني انه لم يعمل واشكرك اخي على ههذ الطريقة لكن لو ممكن تشرح لي اكثر عن برامترات المنهج add
تحياتي لك
المشكلة هي في عملية وضع نص الtextbox يجب ان يكون بهذا الشكل ' "+TextBox1.text+" '
انا بالمناسبة عندما اشتكي من هذه المشكلة اذهب الى الaccess واجرب جملة الsql المراد تنفيذها في الsql editor اي في قاعدة بيانات access واجرب ما اكتبه في كل مرة .
نموت وتحيا ...................فلسطين .
اخى العزيز المشكله ان executeNonQuery مش بترجع اى قيمه وهى تستخدم عندما تكون جمله Command مش بترجع قيمه زى مثلا select,update ,insert ولو عايز ترجع قيمه عندك executeScalar او استخدم ouput Parameter
هذا الموضوع مغلق.