Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我应该使用datatable在asp.net中存储一列select查询吗_C#_Asp.net_Sql - Fatal编程技术网

C# 我应该使用datatable在asp.net中存储一列select查询吗

C# 我应该使用datatable在asp.net中存储一列select查询吗,c#,asp.net,sql,C#,Asp.net,Sql,我的sql select查询将返回一列公司名称(多行名称)。现在我想储存它。我用过: try { connection.Open(); sqlCmd = new SqlCommand(sqlCmd.CommandText, connection); SqlDataReader sqlReader = sqlCmd.ExecuteReader(); DataTable dt = new DataTable(); dt.Clear();

我的sql select查询将返回一列公司名称(多行名称)。现在我想储存它。我用过:

 try
 {
      connection.Open();
      sqlCmd = new SqlCommand(sqlCmd.CommandText, connection);
      SqlDataReader sqlReader = sqlCmd.ExecuteReader();
      DataTable dt = new DataTable();
      dt.Clear();

      sqlReader.Read();
      dt.Load(sqlReader);
然后我试着通过

dt.Rows[0][0].ToString()
dt.Rows[1][0].ToString()
dt.Rows[2][0].ToString()
etc.
但我认识到,如果使用相同的查询,dt.Rows[0][0].ToString()中的值会随着时间的推移而有所不同,如果使用新的查询值,旧值似乎仍然存储在datatable事件中。 在这里存储和检索值的正确方法是什么?

您可以使用

string compnay_name = dt.Rows[0]["column_name"].ToString();
尝试在双引号中使用您的公司名称列。 您可以在for或foreach循环中使用它。 作为


用于(int i=0;我认为代码中的其他部分需要注意。如果您没有根据非空的唯一键对查询中的resultset进行排序,则每次查询都可能返回不同的结果。此外,您可能希望在使用DataTable对象后调用dispose,然后在下一次查询中再次使用它好的,我尝试了使用select distinct,这样它将进行排序,并且不会重复。我只是尝试了dispose()。但现在没有结果。我的意思是旧的结果仍然存在。不清楚form datatable。您在select查询中是否有order by子句?如果没有,添加它,您的查询将始终以相同的顺序返回结果。如何确保每次查询新值后datatable是干净的并刷新?使用datatable.clear方法。此外,如果(dt.Rows.Count>0)这里,dt代表datatable对象。我使用了那个!datatable dt=new datatable();dt.clear();但是结果是一样的!是的。现在可以了。我不确定是因为dt.clear()还是通过sql语句中的排序。但是我会选择您的答案,因为它是唯一的答案,也会对我的结果做出贡献!谢谢!
for(int i=0;i<count;i++)
{
   string compnay_name = dt.Rows[i]["column_name"].ToString();
}