要显示SQL C#中的表(Windows窗体)的对象
本文关键字:Windows 窗体 对象 SQL 显示 | 更新日期: 2023-09-27 18:22:19
我基本上有两个问题。我一直在找。但我主要发现控制台应用程序非常基础,我对它们的理解与SQL有关。
然而,我从我的视图类中获取用户输入,并用一个方法将其发送到连接类。我希望connect类能够处理SQL的所有工作。现在我有了一个工作连接,我编写了一个正确的SQL语句。如何将其返回到视图类,以及您建议使用什么ListBox
。
当我们在java中这样做时,我们得到了一个结果集,并对其进行了翻译,使其适合jtable。我想知道如何在Visual Studio中解决这个问题。
public void askSQL (string sqlQuestion)
{
SqlCommand cmd = new SqlCommand();
cmd.CommandText = sqlQuestion;
cmd.Connection = connector;
try
{
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
MessageBox.Show("Du läser in data");
}
}
catch (Exception e)
{
MessageBox.Show("Fel vid anslutningen!" + e);
}
}
我目前对代码没有任何问题。连接正在工作,我收到了多个答案"Du läser in data",因为我的表中有多列和多行。
public DataTable askSQL (string sqlQuestion)
{
DataTable table = new DataTable();
try
{
using (SqlDataAdapter adapter = new SqlDataAdapter(sqlQuestion, connector))
{
adapter.Fill(table);
}
}
catch (Exception e)
{
MessageBox.Show("Fel vid anslutningen!" + e);
}
return table;
}
这将返回尽可能接近表结构的内容。。DataTable
具有Rows集合,每一行具有来自数据库的一条记录的数据,并且每个DataRow具有具有字段值的ItemArray集合。
例如,要访问第二行名为"电子邮件"的字段,请使用以下代码:
DataTable table = connect.askSQL("Select Email From Users Where UserId In (1, 2)");
string email = table.Rows[1]["Email"].ToString();
您可以使用简单的循环对行进行迭代:
foreach (DataRow row in table.Rows)
{
string email = row["Email"].ToString();
MessageBox.Show("Current email: " + email);
}
希望这是足够的信息。:)