你應該總是使用參數查詢數據庫時 - SQL注入是否是可能的,這只是普通好的做法使用參數,它解決了一些棘手的報價多少和哪一種,我需要這裏也要使它成爲一個有效的SQL語句問題。
所以你可以試試:
string sqlStmt = "SELECT Timein, Timeout FROM dbo.Attendance " +
"WHERE E_ID = @ID AND Date = @Date";
using(SqlConnection conn = new SqlConnection("your-connection-string-here"))
using(SqlCommand cmd = new SqlCommand(sqlStmt, conn))
{
// set up parameters
cmd.Parameters.Add("@ID", SqlDbType.Int).Value = E_ID;
cmd.Parameters.Add("@Date", SqlDbType.DateTime).Value = DateTime.Now.Date;
// open connection, read data, close connection
conn.Open();
using(SqlDataReader rdr = cmd.ExecuteReader())
{
while(rdr.Read())
{
// read your data
}
rdr.Close();
}
conn.Close();
}
您的腳本很容易出現SQL注入http://en.wikipedia.org/wiki/SQL_injection – Curt 2012-08-09 11:43:27
請使用[的SqlParameter(http://msdn.microsoft。 COM/EN-US /庫/ system.data.sqlclient.sqlparameter.aspx)。注意文檔中的示例。 – Reniuz 2012-08-09 11:45:28
在日期字段u'r查詢sql日期時間格式或varchar? – chamara 2012-08-09 11:46:17