winforms 在C#中使用数据库中的数据填充文本框

ngynwnxp  于 2023-04-21  发布在  C#
关注(0)|答案(1)|浏览(148)

在C#中,单击数据网格视图列后,如何用数据库中的数据填充文本框?
如果我在datagridview中单击整行,我希望数据被放入窗口窗体设计的文本框中。

guykilcj

guykilcj1#

我使用一个两步的过程第一步我有数据加载在一个DataGridView点击它以获得的ID的人我想显示的数据在文本框的这里是点击事件的DataGridView

private void dgvPerson_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        if (e.RowIndex == -1 | e.ColumnIndex == -1)
        {
            tbMessage.Text = "No Clicking Here";
            return;
        }
        else
        {
            ID = Convert.ToInt32(dgvPerson.Rows[e.RowIndex].Cells[0].Value.ToString());

            Close();
            frmADE fADE = new frmADE();
            udID = ID;
            if (doWhat == 2)
            {
                fADE.doWhat = 2;
            }
            if (doWhat == 3)
            {
                fADE.doWhat = 3;
            }
            if (doWhat == 4)
            {
                fADE.doWhat = 4;
            }
            var form = new frmCRUD();
            form.GetID(udID);
            fADE.Show();
        }
    }

好了,现在我有了ID,它在变量newData中,我读取了数据。在我的例子中,数据库CRUD函数在类库中。只需将所有这些fn,ln,ad变量更改为TextBox的名称。

public void readUDV()
    {
        using (SQLiteConnection conn = new SQLiteConnection($"Data Source = '{dbName}';Version=3;"))
        {
            conn.Open();
            using (SQLiteCommand cmd = new SQLiteCommand($"SELECT * FROM FriendsData WHERE FID = " + newData, conn))
            {
                using (var rdr = cmd.ExecuteReader())
                {
                    while (rdr.Read())
                    {
                        fn = rdr["fxFirstName"].ToString().Trim();
                        ln = rdr["fxLastName"].ToString().Trim();
                        ad = rdr["fxAddress"].ToString().Trim();
                        ct = rdr["fxCity"].ToString().Trim();
                        st = rdr["fxState"].ToString().Trim();
                        zp = rdr["fxZip"].ToString().Trim();
                        ph = rdr["fxCellPhone"].ToString().Trim();
                        em = rdr["fxEmail"].ToString().Trim();
                        rt = rdr["fxInfo"].ToString().Trim();
                    }
                }
            }
        }
    }

相关问题