我有一个有趣的问题。我想执行此查询,但发生此错误:
“指定的演员表无效。”
任何人都可以帮助我吗?
这是我的代码:
string connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection sqlconn = new SqlConnection(connStr);
SqlCommand sqlcmd = new SqlCommand();
sqlcmd = new SqlCommand("SELECT max(ID) FROM AddNews ", sqlconn);
sqlconn.Open();
int ID = ((int)sqlcmd.ExecuteScalar());
sqlconn.Close();
答案 0 :(得分:1)
有一种情况是您可能没有结果,并且返回值可以为空。
你最好试试
int? MaxID = sqlcmd.ExecuteScalar() as int?;
并检查MaxID是否为空。
答案 1 :(得分:1)
结果在SQL级别转换为int。返回的值将为int,如果为null,则默认为0。
您可以使用Convert.ToInt32(sqlCmd.ExecuteScalar())
代替(int)或(int?)sqlCmd.ExecuteScalar() ?? 0;
答案 2 :(得分:1)
you have to change as follow
int ID=int.Parse(cmd.ExecuteScalar().ToString());
答案 3 :(得分:0)
而不是((int)value)
使用Convert.ToInt32(value)
。它会起作用。
答案 4 :(得分:0)
sqlcmd.ExecuteScalar());
它返回一个不是int的对象。
试试这个
Object s= cmd.ExecuteScalar()
int x=Integer.Parse(s.ToString))
答案 5 :(得分:0)
你可以先测试你的值是否为int
int ID;
int.TryParse(sqlcmd.ExecuteScalar(), out ID);