0
我想從sql數據庫中檢索數據,並根據我提供的值將該數據設置爲某些文本框。就像,如果我提供了一個名字「約翰」,它應該獲取所有的數據反對約翰,並把它放在文本框。代碼如下無法通過sqldatareader檢索數據
string query = "SELECT * FROM PatientInfo WHERE Name LIKE '@Name';";
using (SqlConnection cn = new SqlConnection(constr))
using (SqlCommand cmd = new SqlCommand(query, cn))
{
cn.Open();
cmd.Parameters.AddWithValue("@Name",String.Format("%{0}%", txtsearchpatient.Text));
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
txtid_search.Text = reader["PatientID"].ToString();
txtname_search.Text = reader["Name"].ToString();
txtphone_search.Text = reader["Phone"].ToString();
txtage_search.Text = reader["Age"].ToString();
txtaddress_search.Text = reader["Address"].ToString();
txtemail_search.Text = reader["Email"].ToString();
}
}
else
{
MessageBox.Show("No record found");
}
reader.Close();
cn.Close();
}
我收到錯誤「無效嘗試時,不存在數據讀取」當我手動執行在SQL Management Studio中的查詢與它成功返回的所有字段相同的查詢時。哪裏有問題?
'LIKE'@ Name''應該是'LIKE @ Name' –
它的工作原理:O當我這樣做時,它說「必須聲明標量變量名」,但現在它工作。非常感謝 。請張貼您的回覆,以便我可以將其標記爲答案。 – SidraM