我已经写了这个查询来获得一些结果,如果我想将结果保存在数组中我该做什么?
我想在IF语句中使用col1和col2中的值,这就是为什么我想把它们保存在数组中.
我想在IF语句中使用col1和col2中的值,这就是为什么我想把它们保存在数组中.
var con = new sqlConnection("Data Source=local;Initial Catalog=Test;Integrated Security=True"); using (con) using (var command = new sqlCommand("SELECT col1,col2 FROM some table",con)) { con.open(); command.ExecuteNonQuery(); }
解决方法
通常我使用一个类:
public class ClassName { public string Col1 { get; set; } public int Col2 { get; set; } }
现在,如果真的需要一个数组,可以使用一个循环来填充列表和ToArray:
ClassName[] allRecords = null; string sql = @"SELECT col1,col2 FROM some table"; using (var command = new sqlCommand(sql,con)) { con.open(); using (var reader = command.ExecuteReader()) { var list = new List<ClassName>(); while (reader.Read()) list.Add(new ClassName { Col1 = reader.GetString(0),Col2 = reader.GetInt32(1) }); allRecords = list.ToArray(); } }
请注意,我推测第一列是一个字符串,第二列是一个整数.只是为了证明C#是类型安全的,以及如何使用DataReader.GetXY方法.
原文地址:https://www.jb51.cc/mssql/75683.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。