Badraoui نشر 27 أكتوبر 2015 أرسل تقرير نشر 27 أكتوبر 2015 أريد إدخال جميع قيم مصفوفة في جدول Sql باستعمال #C، لكن أواجهه مشكل في فتح وغلق الإتصال بقاعدة البيانات عند كل عملية إدخال، فهل من طريقة للقيام بالعملية أسهل وأنجع؟هذا مثال للكود :public void InsertDataToDb() { string connectionString = ConfigurationManager.ConnectionStrings["connection"].ConnectionString; var records = GetRecords(); using (SqlConnection conn = new SqlConnection(connectionString)) { SqlCommand cmd = new SqlCommand( "INSERT INTO TableName (param1, param2, param3) VALUES (@param1, @param2, @param3)"); cmd.CommandType = CommandType.Text; cmd.Connection = conn; foreach (var item in records) { cmd.Parameters.AddWithValue("@param1", item.param1); cmd.Parameters.AddWithValue("@param2", item.param2); cmd.Parameters.AddWithValue("@param3", item.param3); conn.Open(); cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); conn.Close(); } } }هل من حل؟ اقتباس
0 E.Nourddine نشر 28 أكتوبر 2015 أرسل تقرير نشر 28 أكتوبر 2015 الحل: public void InsertDataToDb() { string connectionString = ConfigurationManager.ConnectionStrings["connection"]. ConnectionString; var records = GetRecords(); using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand( "INSERT INTO TableName (param1, param2, param3) " + " VALUES (@param1, @param2, @param3)"); cmd.CommandType = CommandType.Text; cmd.Connection = conn; cmd.Parameters.Add("@param1", DbType.String); cmd.Parameters.Add("@param2", DbType.String); cmd.Parameters.Add("@param3", DbType.String); foreach (var item in records) { cmd.Parameters[0].Value = item.param1; cmd.Parameters[1].Value = item.param2; cmd.Parameters[2].Value = item.param3; cmd.ExecuteNonQuery(); } conn.Close(); } }ملاحظات:لاحظ أن المتغير cmd يقبل Parameters يحدد برقم يبدأ من 0.loop foreach تمرر بالدور على مختلف قيم المصفوفة، وبداخل هذه الدالة -foreach- ينفذ أمر cmd.ExecteNonQuery لإدخال قيم كل صف من المصفوف في الجدول اتباعاً، وهذا أمرٌ مهم، حيث يتوجب عليك تصفح وقراءة جميع قيم المصفوفة، مع إدخال القيم في الجدول على Sql.بعد انتهاء الدالة Foreach نغلق الاتصال بقاعدة البيانات. اقتباس
0 umm74560 نشر 30 أكتوبر 2015 أرسل تقرير نشر 30 أكتوبر 2015 هل تستطيع عمل ملف .bat لأتصال برودباند؟ أو أمر cmd؟ اقتباس
السؤال
Badraoui
أريد إدخال جميع قيم مصفوفة في جدول Sql باستعمال #C، لكن أواجهه مشكل في فتح وغلق الإتصال بقاعدة البيانات عند كل عملية إدخال، فهل من طريقة للقيام بالعملية أسهل وأنجع؟
هذا مثال للكود :
هل من حل؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.