Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Błąd podczas wstawiania daty i godziny w programie SQL Server 2005 datetime c#?

Powinieneś ZAWSZE użyj sparametryzowanego zapytania - zapobiega to atakom wstrzykiwania SQL, jest lepsze pod względem wydajności i pozwala uniknąć niepotrzebnych konwersji danych na ciągi znaków tylko po to, aby wstawić je do bazy danych.

Spróbuj czegoś takiego:

// 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();
}

Wskazane byłoby również nadanie nazw swoim ramkom tekstowym z bardziej wyrazistymi nazwami. textbox9 tak naprawdę nie mówi mi, które to pole tekstowe — textboxSurname byłoby DUŻO lepiej!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. EF:Jak wywołać SaveChanges dwukrotnie w ramach transakcji?

  2. JPA SQL Server bez mapowania dialektu dla typu JDBC:-9

  3. Czy istnieje funkcja w Entity Framework, która przekłada się na funkcję RANK() w SQL?

  4. Jak zastąpić NULL pustym ciągiem w SQL?

  5. Jak pogrupować według dat każdego tygodnia do ostatnich sześciu tygodni w niedziele w sql?