我在数据库中插入一个新行,并同时获取新插入行的自动id,结果出现 指定的转换无效
源代码:
string strSQL = "insert into tbgarden(name,districtid,categoryid,memberid,contactmain,contactother,qq,address,description) values(@name,@districtid,@categoryid,@memberid,@contactmain,@contactother,@qq,@address,@description) select @@IDENTITY";.............
............
int id=0;
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
conn.Open();
cmd.Connection = conn;
SqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read())
{
id = sdr.GetInt32(0); // 问题出现在这句
}
}不知道是何原因?请指教。
源代码:
string strSQL = "insert into tbgarden(name,districtid,categoryid,memberid,contactmain,contactother,qq,address,description) values(@name,@districtid,@categoryid,@memberid,@contactmain,@contactother,@qq,@address,@description) select @@IDENTITY";.............
............
int id=0;
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
conn.Open();
cmd.Connection = conn;
SqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read())
{
id = sdr.GetInt32(0); // 问题出现在这句
}
}不知道是何原因?请指教。
//*****然后在前台获取@NewID字段哈.
id = sdr.GetInt32("NewID");试试
楼主可以试下.
id = sdr.GetValue(0); //@@identify 不是int类型