C# C:从sql中计算并获取行的Id
请问怎么了 我可以获取记录数,但无法获取每条记录的id值 我有这个函数来计算和获取id值: 我认为问题在于功能 表格1 然后我以另一种形式调用第一个函数来获取每个记录的数据 表格2C# C:从sql中计算并获取行的Id,c#,sql,C#,Sql,请问怎么了 我可以获取记录数,但无法获取每条记录的id值 我有这个函数来计算和获取id值: 我认为问题在于功能 表格1 然后我以另一种形式调用第一个函数来获取每个记录的数据 表格2 您的查询是计数查询,不能使用同一查询获取每个条目。您需要使用第二个查询: string query = "SELECT * FROM medicaments WHERE code_bare = @codebar"; 如果只需要ID字段,则仅在查询中包含该字段: string query = "SELECT ID
您的查询是计数查询,不能使用同一查询获取每个条目。您需要使用第二个查询:
string query = "SELECT * FROM medicaments WHERE code_bare = @codebar";
如果只需要ID字段,则仅在查询中包含该字段:
string query = "SELECT ID FROM medicaments WHERE code_bare = @codebar";
此外,如果您只是要迭代所有结果,那么您最好放弃计数查询,并在循环时对ExecuteReader的结果进行计数。问题不在于您的函数,而在于您选择数据的方式,使用聚合函数COUNT*,它只返回行计数,如果添加MAXID,它将执行相同的操作,就像您将按ID对数据进行分组一样。问题是,在这种情况下,您将得到两列,一列是ID值,第二列是COUNT,但所有ID的值都是相同的
String countString = "SELECT MAX(ID), COUNT (*) FROM medicaments WHERE code_bare = @codebar ";
哦,是的,谢谢,我从我的第一个函数中复制了字符串,没有引起注意
string query = "SELECT * FROM medicaments WHERE code_bare = @codebar";
计数变量呢?他需要改变这一点well@Kuzgun:是的,我说了第二个问题。。。不更改当前查询
String countString = "SELECT MAX(ID), COUNT (*) FROM medicaments WHERE code_bare = @codebar ";
string query = "SELECT * FROM medicaments WHERE code_bare = @codebar";