gpt4 book ai didi

c# - 将数据库数据插入列表框 C#

转载 作者:太空宇宙 更新时间:2023-11-03 22:50:26 26 4
gpt4 key购买 nike

免责声明:我之前没有使用 C# 代码查询数据库的经验(所以请放轻松)

我正在尝试将数据从我的 SQL Server 数据库插入到我的列表框中。现在我正在以数组的形式尝试这个。我首先连接到数据库,然后将数据库中的“状态”插入到数组的索引中。我希望将所有 50 个州都放入我的数组中,然后将这些信息放入我的列表框中。现在,正在插入我的数据,但是当我在列表框中查看它时,它显示 System.Data.SqlClient.SqlCommand

public string connString = "Not displaying this for security reasons, it is set up correctly though."; //Setting up the connection to my DB

public frmState()
{
InitializeComponent();

this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.frmState_FormClosed);

using (SqlConnection dbConn = new SqlConnection(connString))
{
dbConn.Open();
string cmdString = "select State_Name from [State]";

SqlCommand cmd = new SqlCommand(cmdString, dbConn);

SqlDataReader reader = cmd.ExecuteReader();

try
{
while (reader.Read())
{
string[] stateList = new string[50];

for (int i = 1; i <= 50; i++)
{
stateList[i - 1] = cmd.ToString();
}

for (int i = 0; i < stateList.Length; i++)
{
lbStates.Items.Add(stateList[i].ToString());
}
}
}
finally
{
reader.Close();
}
}
}

此外,我知道截至目前我将显示相同的状态 50 次。我想弄清楚如何一次插入一个状态。这是一种有效的方法吗?另外,关于在 C# 中使用数据库的任何提示?我在 Visual Studio 2017 和 Microsoft SQL Server 2016 上。

最佳答案

问题出在你做的地方:

stateList[i - 1] = cmd.ToString();

这是错误的,因为您正在将 SqlCommand 对象转换为字符串并将其放入字符串类型的数组中以从您的 SqlCommand 检索数据。

如下更改上面的行将解决您的问题:

tateList[i - 1] = reader.GetString(0);

any tips on working with databases in c#?

对于 C# 和 SQL 的初学者,我建议您继续学习 ADO.net 的基本数据库访问工具,例如使用 SqlDataReader、SqlDataReader、SqlDataAdapter 等。但要拥有专业且当然安全的应用程序也需要简单;你必须转向使用 ORM像“ Entity Framework ”、linq 等工具(女巫是安全访问数据库的媒介)……女巫将使与数据库的对话更加方便。

补充:

我建议你阅读this关于如何使用 SqlDataReader 的教程。

关于c# - 将数据库数据插入列表框 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47615237/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com