我在从数据库中选择最大ID时遇到了一些小问题。这是我的密码:
string checkcat = "SELECT MAX(PRODUCT_ID) FROM CMS_PRODUKTY WHERE (CATEGORY_ID = CATEGORY_ID) AND (CLIENT_ID = @CLIENT_ID)";
SqlCommand cmd2 = new SqlCommand(checkcat, con);
cmd2.Parameters.Add("@CATEGORY_ID", System.Data.SqlDbType.Int).Value = kategoria;
cmd2.Parameters.Add("@CLIENT_ID", System.Data.SqlDbType.Int).Value = HiddenField1.Value;
con.Open();
int noweid = Convert.ToInt32(cmd2.ExecuteScalar());
con.Close();重点是新的int "noweid“应该是1或更高-依赖于表中的product_id,但是它返回0。我不知道为什么..。其他变量- kategoria和HiddenField1. other是正确的。
知道我做错了什么吗?
发布于 2015-09-28 11:44:15
你有
WHERE (CATEGORY_ID = CATEGORY_ID)但你想
WHERE (CATEGORY_ID = @CATEGORY_ID)您还应该将字符串解析为int。
cmd2.Parameters.Add("@CLIENT_ID", System.Data.SqlDbType.Int).Value = int.Parse(HiddenField1.Value);也许kategoria也是string,然后将其解析为int。
https://stackoverflow.com/questions/32822126
复制相似问题