C# 如何转换查询结果?
我需要将字符串查询转换为要计算的int。我进展顺利,还是有别的办法 这是代码的摘录。是否可以转换结果 代码:C# 如何转换查询结果?,c#,sql-server,asp.net-mvc,C#,Sql Server,Asp.net Mvc,我需要将字符串查询转换为要计算的int。我进展顺利,还是有别的办法 这是代码的摘录。是否可以转换结果 代码: 您试图在查询实际检索结果之前对其进行解析 i=int.Parse(查询) 您可以这样做来读取cmd.ExecuteReader()命令的结果 if (reader.HasRows) { while (reader.Read()) { if (reader.GetInt32(0) > 0) {
您试图在查询实际检索结果之前对其进行解析
i=int.Parse(查询)代码>
您可以这样做来读取cmd.ExecuteReader()
命令的结果
if (reader.HasRows) {
while (reader.Read())
{
if (reader.GetInt32(0) > 0)
{
Re1 = "OK";
}
else {
Re1 = "Fail";
}
}
}
else {
Console.WriteLine("No rows found.");
}
如果您只对(单个)记录的存在感兴趣,则只需查询计数
,然后:
你想干什么?i
的值应该是多少?我没有看到变量Re1
的声明;你真的需要仔细阅读int.Parse
的功能,因为它绝对不是你想要的。。。还不清楚您希望该值的含义。看起来您正在将查询传递给int.Parse(),并希望它返回查询结果?如果是这样,这是一个极端的概念错误。我只能猜测,但看起来您正在尝试设置@code
参数的值。我是查询的结果,是的,但是有评论,我会编辑这篇文章。如果该查询的记录超过0,我会尝试返回OK谢谢,我会尝试。这是唯一的办法吗?当然,这不是唯一的方法,在谷歌上阅读或搜索“如何使用c#检索sql中的数据”之类的内容。
if (reader.HasRows) {
while (reader.Read())
{
if (reader.GetInt32(0) > 0)
{
Re1 = "OK";
}
else {
Re1 = "Fail";
}
}
}
else {
Console.WriteLine("No rows found.");
}
string query = "SELECT COUNT(Movie.Code) FROM Movie WHERE Movie.Code = @code";
int i = 0;
using (SqlCommand cmd = new SqlCommand(query))
{
cmd.Connection = con;
con.Open();
i = (Int32)cmd.ExecuteScalar();
if(i > 0)
{
// OK
}
else
{
// Fail
}
}