c#中的代码:
public List<Per> RunSpForAotuComplete(string storedProcName, string text)
{
OleDbDataReader rdr =null;
List<Per> dictionary = new List<Per>();
OleDbConnection connection = new OleDbConnection(ConString);
connection.Open();
OleDbCommand cmd = new OleDbCommand(storedProcName, connection)
{
CommandType = CommandType.StoredProcedure
};
OleDbParameter parameter = new OleDbParameter("@text", text);
cmd.Parameters.Add(parameter);
rdr = cmd.ExecuteReader();
if (rdr.HasRows)
{
while (rdr.Read())
{
dictionary.Add(new Per
{
name = rdr["semel"].ToString(),
value = rdr["shem"].ToString(),
});
}
}
}
我不明白为什么if(rdr.HasRows)=false
?
这个程序是这样写的:
SELECT shem, semel
FROM TYISHUV
WHERE shem like @text +'*';
我也尝试过:
OleDbParameter 参数 = new OleDbParameter("text", text);
代替:
OleDbParameter 参数 = new OleDbParameter("@text", text);