C# 如何从数据库中检索C Windows窗体应用程序的信息
我目前正在开发一个C Windows窗体应用程序 现在,我尝试使用SQL命令从数据库中检索信息,以填充应用程序中需要的信息 示例查询将是select*from Member 在成员表中会有诸如名称、位置等变量 如何在应用程序中编写代码,以便用数据库中的信息填充变量 我的方法代码是C# 如何从数据库中检索C Windows窗体应用程序的信息,c#,database,winforms,C#,Database,Winforms,我目前正在开发一个C Windows窗体应用程序 现在,我尝试使用SQL命令从数据库中检索信息,以填充应用程序中需要的信息 示例查询将是select*from Member 在成员表中会有诸如名称、位置等变量 如何在应用程序中编写代码,以便用数据库中的信息填充变量 我的方法代码是 private Panel createNotificationPanel(String name, String location, String imageExtension, String alertType,
private Panel createNotificationPanel(String name, String location, String imageExtension, String alertType, String memberid)
{
}
我已经创建了一个成员类,其中包含所有这些值的set和get方法
目前为止,我所做的是:
String connectionString = ConfigurationManager.ConnectionStrings["connection2"].ConnectionString;
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("select * from alert);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet dataset = new DataSet();
conn.Open();
da.Fill(dataset, "authenticate");
conn.Close();
int respond = (int)dataset.Tables["authenticate"].Rows[0]["respond"];
if (respond == 1)
{
//to fill in here
}
检索完信息后,我将把它添加到一个列表中,如下所示
List.Add(new MemberAlert("name", "location", "type", "memberID", "imageExtension"));
所以我想知道如何用数据库中的信息替换里面的信息
我不知道如何从这里开始。有人能帮我吗
DataSet dataset = new DataSet();
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(
"select * from alert", connection);
adapter.Fill(dataset, "authenticate");
}
// Load Data from the DataSet into the ListView
private void LoadList()
{
// Get the table from the data set
DataTable dtable = dataset.Tables["authenticate"];
// Clear the ListView control
listView1.Items.Clear();
// Display items in the ListView control
for (int i = 0; i < dtable.Rows.Count; i++)
{
DataRow drow = dtable.Rows[i];
// Define the list items
ListViewItem lvi = new ListViewItem(drow["name"].ToString());
lvi.SubItems.Add (drow["location"].ToString());
lvi.SubItems.Add (drow["type"].ToString());
lvi.SubItems.Add (drow["memberID"].ToString());
lvi.SubItems.Add (drow["imageExtension"].ToString());
// Add the list items to the ListView
listView1.Items.Add(lvi);
}
}
如果需要从数据集表中创建列表。您可以如上所述迭代行,在循环中创建列表项并将它们添加到列表中
如果需要从数据集表中创建列表。您可以如上所述迭代行,在循环中创建列表项并将它们添加到列表中 您可以使用和加载数据,而无需填充中间数据集。因此,类似于以下内容:
cmd.CommandText = "select respond from alert";
var respond = cmd.ExecuteScalar();
if (respond != null && (int)respond == 1)
{
//... execute your command to select from Member here
}
然后,在if内部使用ExecuteReader,并直接从以下命令加载值:
您可以使用和加载数据,而无需填充中间数据集。因此,类似于以下内容:
cmd.CommandText = "select respond from alert";
var respond = cmd.ExecuteScalar();
if (respond != null && (int)respond == 1)
{
//... execute your command to select from Member here
}
然后,在if内部使用ExecuteReader,并直接从以下命令加载值:
您好,谢谢您的回复,但这正是我在帖子中提到的目前所做的,我的意思是如何用我检索到的数据库中的信息填充变量?@Thomas DataTable dt=dataset.Tables[0];-编辑:当你给响应整数赋值时,你已经这么做了,我不知道你的意思。嗨,对不起,我对编程很陌生。我的意思是,由于我需要从数据库中检索名称、位置等信息,在执行sql命令后,如何将信息放入变量中?或者简单地说,在数据被添加到数据集之后,我如何显示它?对不起,我明白你的意思了,试试这个:DataTable dt=dataset.Tables[0];foreach DataRow dr in dt.Rows{List.Addnew MemberAlertdr[columnIndex],dr[columnIndex],等等;}非常感谢大家。我能够检索信息。谢谢您好,谢谢您的回复,但这正是我在帖子中提到的目前所做的,我的意思是如何用我检索到的数据库中的信息填充变量?@Thomas DataTable dt=dataset.Tables[0];-编辑:当你给响应整数赋值时,你已经这么做了,我不知道你的意思。嗨,对不起,我对编程很陌生。我的意思是,由于我需要从数据库中检索名称、位置等信息,在执行sql命令后,如何将信息放入变量中?或者简单地说,在数据被添加到数据集之后,我如何显示它?对不起,我明白你的意思了,试试这个:DataTable dt=dataset.Tables[0];foreach DataRow dr in dt.Rows{List.Addnew MemberAlertdr[columnIndex],dr[columnIndex],等等;}非常感谢大家。我能够检索信息。谢谢除非您使用的是.NET 2.0,否则我建议您远离DataSet/DataTable,而使用实体框架。除非您使用的是.NET 2.0,否则我建议您远离DataSet/DataTable,而使用实体框架。