Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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# 将数据库值加载到数组中_C#_Asp.net_Sql Server_Arrays - Fatal编程技术网

C# 将数据库值加载到数组中

C# 将数据库值加载到数组中,c#,asp.net,sql-server,arrays,C#,Asp.net,Sql Server,Arrays,因此,我得到了一个应用程序,所有设置,多个命令工作出色,但我在一个主要问题上卡住了。我想从SQL表中加载SQL连接字符串ServerAddress/databasename/UID/password的值-数据。与它的连接工作正常,我可以检索数据。我想要实现的是,ServerAddress/databasename/UID/password总共有4个数组,用于将数据加载到其中。SQL中还有一个名称和数据库ID。因此,我可以使用INT DatabaseID并使用select查询选择DatabaseI

因此,我得到了一个应用程序,所有设置,多个命令工作出色,但我在一个主要问题上卡住了。我想从SQL表中加载SQL连接字符串ServerAddress/databasename/UID/password的值-数据。与它的连接工作正常,我可以检索数据。我想要实现的是,ServerAddress/databasename/UID/password总共有4个数组,用于将数据加载到其中。SQL中还有一个名称和数据库ID。因此,我可以使用INT DatabaseID并使用select查询选择DatabaseID为5的行,然后从该数组中获取信息。我已经可以将它们保存到字符串变量中,但我希望它在启动应用程序时将所有信息加载到数组中,以便关闭连接。然后databaseID等于我用来选择数组数据的数字。

我建议您将数据存储在对象列表中,而不是使用多个数组。例如,您可以为连接信息定义一个类,如下所示:

public class ConnInfo
{
    public string ServerAddress { get; set; }
    public string DatabaseName { get; set; }
    public string UserId { get; set; }
    public string Password { get; set; }
}
var address = connections[2].ServerAddress;
然后,您可以保存以下内容的列表:

var connections = new List<ConnInfo>();
完成此操作后,您可以按如下方式访问连接信息:

public class ConnInfo
{
    public string ServerAddress { get; set; }
    public string DatabaseName { get; set; }
    public string UserId { get; set; }
    public string Password { get; set; }
}
var address = connections[2].ServerAddress;
如果您不确定如何创建我上面提到的“表”,请执行以下操作:

var cmd = new SqlCommand("SELECT * FROM ConnectionInfo", myConnection);
var rdr = cmd.ExecuteReader();
var table = new DataTable();
table.Load(rdr);
rdr.Close();

如果您不想为此创建一个类,只需保留此数据表,并直接使用它来访问信息。

我对您试图实现的目标有点茫然

为什么有4个阵列?您只需从SQL表返回信息并将其存储在DataTable中,这样您就可以在一个中心表中使用LINQ查询所有信息,而不是将信息加载到不同的数组中

我希望这能给我们一些启示


就像艾伦解释和演示的那样。

你尝试了什么,哪里卡住了。你没有问具体的问题,你只是发布了你的要求。什么都没试过。我想不出一个方法来做我想做的事。具体问题是。如何在c中将值从数据库加载到数组中,以便使用DatabaseID/DatabaseName将值选择到数组中为什么要在数组中使用它。只需使用datatable并相应地获取即可。非常感谢,这很有效,并且实现了我所需要的功能!我对C还是很陌生,这是我第一次在C中使用SQL,所以我认为数组是最好的选择。