Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Lỗi khi chèn ngày và giờ trong SQL Server 2005 datetime c #?

Bạn nên LUÔN sử dụng tham số hóa truy vấn - điều này ngăn chặn các cuộc tấn công chèn SQL, tốt hơn cho hiệu suất và tránh chuyển đổi dữ liệu thành chuỗi không cần thiết chỉ để chèn nó vào cơ sở dữ liệu.

Hãy thử một số bí quyết như thế này:

// define your INSERT query as string *WITH PARAMETERS*
string insertStmt = "INSERT into survey_Request1(sur_no, sur_custname, sur_address, sur_emp, sur_date, sur_time, Sur_status) VALUES(@Surname, @SurCustName, @SurAddress, @SurEmp, @SurDate, @SurTime, @SurStatus)";

// put your connection and command into "using" blocks
using(SqlConnection conn = new SqlConnection("-your-connection-string-here-"))
using(SqlCommand cmd = new SqlCommand(insertStmt, conn))
{
    // define parameters and supply values
    cmd.Parameters.AddWithValue("@Surname", textBox9.Text.Trim());
    cmd.Parameters.AddWithValue("@SurCustName", textBox8.Text.Trim());
    cmd.Parameters.AddWithValue("@SurAddress", textBox5.Text.Trim());
    cmd.Parameters.AddWithValue("@SurEmp", textBox1.Text.Trim());
    cmd.Parameters.AddWithValue("@SurDate", dateTimePicker2.Value.Date);
    cmd.Parameters.AddWithValue("@SurTime", dateTimePicker2.Value.Time);
    cmd.Parameters.AddWithValue("@SurStatus", "Active");

    // open connection, execute query, close connection again
    conn.Open();
    int rowsAffected = cmd.ExecuteNonQuery();
    conn.Close();
}

Bạn cũng nên đặt tên cho hộp văn bản của mình với những cái tên biểu cảm hơn. textbox9 không thực sự cho tôi biết hộp văn bản nào - textboxSurname sẽ là NHIỀU tốt hơn!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. So sánh kỹ thuật:Microsoft Access 2016 và SQL Server 2016

  2. Máy chủ SQL đã chặn quyền truy cập vào thủ tục 'sys.sp_OACreate' của thành phần 'Quy trình tự động hóa Ole'

  3. Truy vấn sql DateTime đơn giản

  4. Cần tính toán theo thời gian hoặc con số ngày được làm tròn trong máy chủ sql

  5. Hàm TSQL để tính toán 30 ngày LÀM VIỆC Ngày từ một ngày được chỉ định (SQL Server 2005)