這是我在C#代碼,它說:「沒有數據存在行/列。」,我怎麼能改善這個代碼,使其正常工作?一個文本框輸入相較於SQL查詢
db = new OleDbConnection();
db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + fileName;
db.Open();
string sql = "SELECT * FROM GroupNameNS WHERE GroupName = '" + Groupnametxt.Text.Trim() + "'";
cmd = new OleDbCommand(sql, db);
rdr = cmd.ExecuteReader();
if (Groupnametxt.Text.Trim() == (string)rdr["GroupName"])
{
MessageBox.Show("Group Name taken, please try another name", "Error in Name", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
membernumber1.ReadOnly = true;
}
else
{
sql = "INSERT INTO GroupNameNS VALUES ('" + Groupnametxt.Text.Trim() + "')";
membernumber1.ReadOnly = false;
cmd = new OleDbCommand(sql, db);
rdr = cmd.ExecuteReader();
}
「...或類似的東西」?如果您需要幫助,請給我們確切的錯誤...您是否在查詢Excel電子表格? –
「或者類似的東西」?如果您希望人們幫助您解決錯誤,請至少花時間記錄確切的錯誤消息。此外,它可能是一個好主意,你谷歌的SQL注入攻擊「。 –
請提供更多信息。 「或者類似的東西」並不能幫助我們推斷出問題。你有沒有堆棧跟蹤?您的上述代碼目前也是高度可注入的SQL。您應該考慮使用SqlParameters進行查詢。您不需要檢查Groupnametxt是否與您的DataReader包含的內容相同,因爲查詢已經爲您執行了比較和過濾。 – chemicalNova