我們先來把代碼粘貼出來看!
代碼一:
public Boolean insertReturn_header(string INVOICE_NO)
{
string sql = "insert into wms_return_header"
+ "(INVOICE_NO)values"
+ "(@INVOICE_NO) ";
SqlParameter[] parameters = {
new SqlParameter("INVOICE_NO",INVOICE_NO),
};
DB.connect();
//傳回受影響行數InfluenceNum
int InfluenceNum = DB.insert(sql, parameters);
if (InfluenceNum > 0)
return true;
else
return false;
}
代碼二:
static SqlConnection conn;
public static void connect()
{
string connectStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
conn = new SqlConnection(connectStr);
}
public static int insert(string str,SqlParameter[] cmdParms)
{
//添加資料
SqlCommand sqlcomman = new SqlCommand();
sqlcomman.Connection = conn;
sqlcomman.CommandText = str;
try
{
if (cmdParms != null)
{
foreach(SqlParameter parm in cmdParms){
sqlcomman.Parameters.Add(parm);
}
}
conn.Open();
sqlcomman.ExecuteNonQuery();
conn.Close();
return 1;
}
catch(Exception ex)
{
return 0;
主要想說的是C#中有利于資料庫安全的一個類,SqlParameter類,這個類利于資料的精确傳輸,防止資料庫被注入。
舉個例子:如果使用者的查詢語句是select * from user where name='"&user&"' and password='"&pwd&"',那麼,
如果使用者輸入的是“1'or'1'='1”,則查詢語句将會變成 select * from admin where user where name='1'or'1'
='1' and password='"&pwd&"'這樣一來語句就通過了,别人就可以進入程式的管理界面了。
}
}
csharp資料庫安全