Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.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中的数据表填充表单值#_C#_.net_Winforms_Sqlite_Datatable - Fatal编程技术网

C# 基于C中的数据表填充表单值#

C# 基于C中的数据表填充表单值#,c#,.net,winforms,sqlite,datatable,C#,.net,Winforms,Sqlite,Datatable,我返回一行的数据表,然后设置数据表的主键,然后查找该列。然后,我想将从company列返回的值赋给txtCompany 以下是我尝试过的: private void comboBox1_SelectedItem(object sender, EventArgs e) { MessageBox.Show("Populating form"); m_dbConnection.Open(); DataTable dt = new DataTable(); SQLite

我返回一行的数据表,然后设置数据表的主键,然后查找该列。然后,我想将从
company
列返回的值赋给
txtCompany

以下是我尝试过的:

private void comboBox1_SelectedItem(object sender, EventArgs e)
{
    MessageBox.Show("Populating form");
    m_dbConnection.Open();

    DataTable dt = new DataTable();
    SQLiteCommand command = m_dbConnection.CreateCommand();
    command.CommandText = "select * from rdpdirectory where company = @company order by company asc";
    //
    command.Parameters.Add(new SQLiteParameter("@company", comboBox1.SelectedText));
    SQLiteDataAdapter db = new SQLiteDataAdapter(command);
    db.Fill(dt);
    //return dt;

    DataColumn[] keyColumns = new DataColumn[1];
    keyColumns[0] = dt.Columns["company"];
    dt.PrimaryKey = keyColumns;

    DataRow row = dt.Rows.Find("company");
    if (row != null)
        txtCompany.Text = row["company"].ToString();
}   

我用以下代码解决了这个问题:

private void comboBox1_SelectedItem(object sender, EventArgs e)
        {
            MessageBox.Show("Populating form");
            m_dbConnection.Open();

            DataTable dt = new DataTable();
            SQLiteCommand command = m_dbConnection.CreateCommand();
            command.CommandText = "select * from rdpdirectory where company = @company order by company asc";
            //
            command.Parameters.Add(new SQLiteParameter("@company", comboBox1.SelectedText));
            SQLiteDataAdapter db = new SQLiteDataAdapter(command);
            db.Fill(dt);
            //return dt;


            DataColumn[] keyColumns = new DataColumn[1];
            keyColumns[0] = dt.Columns["company"];
            dt.PrimaryKey = keyColumns;

            DataRow row = dt.Rows[0];
            txtCompany.Text = row["company"].ToString();
            txtServer.Text = row["server"].ToString();
            txtUserName.Text = row["username"].ToString();
            txtPassword.Text = row["password"].ToString();
        }

有人能给我一个更好的方法吗??