我使用VS2005 C#和SQL Server 2005,參數化SELECT ROWCOUNT SQL語句
我有我使用的參數,而不是串連SQL注入預防轉換他們幾個SQL查詢。
下面是一個SELECT查詢是參數-ED:在搜索文本框在用戶輸入記錄基礎
string loggedinuser = (User.Identity.Name);
SqlDataSource1.SelectCommand = "SELECT * FROM [UserTable] where [" + DropDownList1.Text + "] like @searchtb AND [LoggedInUser] LIKE @userlog";
SqlDataSource1.SelectParameters.Add("searchtb", "%" + searchTB.Text + "%");
SqlDataSource1.SelectParameters.Add("userlog", "%" + loggedinuser+ "%");
上面的SQL查詢搜索,返回的結果,其搜索輸入的用戶名相匹配的數據庫。
我有另一個SQL查詢,這也是一個SELECT語句。但是,這次它不使用SqlDataSource
,而是使用cmd
代替。因此,我需要轉換下面的SQL語句的參數表格一些幫助:
string loggedinuser = (User.Identity.Name);
string stmt = "SET ROWCOUNT 1 SELECT COUNT(*) FROM MP.dbo.UserTable where [" + DropDownList1.Text + "] like '%" + searchTB.Text + "%' AND [LoggedInUser] LIKE '%"+loggedinuser +"%'";
int count = 0;
using (SqlCommand cmdCount = new SqlCommand(stmt, thisConnection))
{
thisConnection.Open();
count = (int)cmdCount.ExecuteScalar();
thisConnection.Close();
}
此SQL查詢搜索用戶正試圖以自己的搜索輸入和用戶名搜索庫。如果countuser
返回0值,那麼我會在那之後提示用戶。
我需要將第二個SQL語句轉換爲參數形式的幫助。
謝謝。
謝謝,這就是我要找的。 – user1084683
@AVD是否可以參數我的DropDownList1?我嘗試添加一個參數,但它沒有奏效。 – gymcode
@RUiHAO - 不,Sql不能在字段名或表名上有參數。 – adatapost