使用C#
如何附加到List<string>
?我想运行两个单独的SQL查询并将结果存储在我的List<string>
中。第一个查询返回
比尔和乔
第二个查询返回
詹姆斯和查尔斯
但我的Console.WriteLine()
仅生成Bill
和Joe
我的语法设置不正确,是为了发生这种情况?
public static List<string> tempList = new List<string>();
static void Main(string[] args)
{
string qs = "Select Top 2 firstname from thistable";
//
GetFirstSetOfData(qs);
string bc = "Select Top 2 firstname from thattable";
//
GetFirstSetOfData(bc);
foreach (string tumble in tempList)
Console.WriteLine(tumble);
}
private static void GetFirstSetOfData(string query)
{
connection = new SqlConnection(ConnectionString);
{
cmd = new SqlCommand(queryString, connection);
connection.Open();
reader = cmd.ExecuteReader();
while (reader.Read())
tempList.Add(reader.GetValue(0).ToString());
reader.Close();
}
}
答案 0 :(得分:0)
我的猜测是它可能与SQLConnection有关。最好在Main方法中初始化SQLConnection,而不是尝试第二次连接到同一个数据库。此外,一旦完成,SQLConnection应该被处理掉。确保发生这种情况的简单方法是将事物包装在using
语句中,如下所示:
using (connection = new SQLConnection(connectionString))
{
connection.Open();
//do all your queries and things
}
您可以在MSDN上看到一个优秀的完整示例:https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.close(v=vs.110).aspx
试一下,看看它是否有效。我认为问题是你在同一个连接上尝试连接两次。可能是错的,因为我在c#中使用了sql,已经有一段时间了。