اذهب إلى المحتوى

السؤال

نشر

عند اسعمالي لجملة الاستعلام التالية على #C:

INSERT INTO tem (Telephone, Status, CreateDate) 
VALUES ('" + telephone + "','"+ status +"','" + DateTime.Now + "');

لكن أحصل على رسالة الخطأ :

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value. The statement has been terminated.

ما الحل؟

Recommended Posts

  • 0
نشر

المشكل أنه في جمل الاستعلام من هذا النوع يجب استعمال  'parametrized queries'  والتي تمكنك من استعمال القيم عن طريق علامات ومتغيرات تبدأ بعلامة@، مثلا 'Telephone@' على أن يتم إعطاء قيمة لهذه العلامة فيما بعد.

حيث أقترح عليك لاستعمال هذا السكريبت عوض السابق:'

// تعريف جملة الاستعلام 
string connectionStirng = ".....";
string insertQry = "INSERT INTO tem (Telephone, Status, CreateDate) VALUES (@Telephone, @Status, @CreateDate);";

 
using (SqlConnection conn = new SqlConnection(connectionString))
using (SqlCommand cmd = new SqlCommand(insertQry, conn))
{
    //   parameters العلامات
    cmd.Parameters.Add("@Telephone", SqlDbType.VarChar, 50).Value = telephone;
    cmd.Parameters.Add("@Status", SqlDbType.VarChar, 20).Value = status;
    cmd.Parameters.Add("@CreateDate", SqlDbType.DateTime).Value = DateTime.Now;

    //  ، وتنفيذ حملة الاستعلام connection فتح
    conn.Open();
    int rowsInserted = cmd.ExecuteNonQuery();
    conn.Close();
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...