【发布时间】:2016-09-09 04:34:48
【问题描述】:
我想在数据库中搜索数据并将其放入数据表中,但我的 sql 命令似乎不正确,因为它没有返回任何数据。请帮忙。提前致谢。以下是我的代码,请检查。
protected DataTable SearchResident(String name, String ConnStr)
{
DataTable dt = new DataTable();
try
{
SqlCommand cmd;
using (SqlConnection con = new SqlConnection(ConnStr))
{
con.Open();
String SQL = "SELECT ID, LastName, FirstName, MiddleName, Gender, BirthDate, CivilStatus, " +
"Citizenship, MobileNo, Landline, PermanentAddress, Address FROM Residents " +
"WHERE FirstName LIKE '%name%' OR LastName LIKE '%name%'";
using (cmd = new SqlCommand(SQL, con))
{
using (SqlDataReader sdr = cmd.ExecuteReader())
{
dt.Load(sdr);
}
}
}
return dt;
}
catch (Exception ex)
{
throw ex;
}
}
【问题讨论】:
-
我通常使用 SQL Server 附带的 SQL Server Management Studio (SSMS) 并在将查询添加到我的 c# 代码之前测试我的查询。 SSMS 非常易于使用,并且在查找查询中的错误方面做得更好。
-
或者这个:String SQL = string.Format("SELECT ID, LastName, FirstName, MiddleName, Gender, BirthDate, CivilStatus, " + "Citizenship, MobileNo, Landline, PermanentAddress, Address FROM Residents " + "WHERE FirstName LIKE '%{0}%' OR LastName LIKE '%{0}%'", name);
-
你忘记设置 SqlCommand
-
@Kushan 谢谢。但仍然没有返回任何东西
-
仅当您插入数据库时。如果您不将值转换为不同的数据类型,则使用选择数据类型进行查询是查询的一部分。