Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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/2/google-app-engine/4.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 Windows窗体应用程序的信息_C#_Database_Winforms - Fatal编程技术网

C# 如何从数据库中检索C Windows窗体应用程序的信息

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,

我目前正在开发一个C Windows窗体应用程序

现在,我尝试使用SQL命令从数据库中检索信息,以填充应用程序中需要的信息

示例查询将是select*from Member

在成员表中会有诸如名称、位置等变量

如何在应用程序中编写代码,以便用数据库中的信息填充变量

我的方法代码是

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,而使用实体框架。