C# 在C语言中从本地数据库中的单个列检索数据#
我正在尝试创建一个本地数据库文件(用于学校作业),并且我已经设法使数据库工作(我可以向其中添加新数据等),数据库文件是.mdf格式的 有一件事我被卡住了。我很难解释它到底是如何工作的(我最近开始编程),所以我将发布一个链接到我用来制作数据库的视频: 我让它工作到我能够在某个数据库列中搜索一个值(它搜索一种颜色)。执行搜索后,DataGridView中只有一行可见。然后我必须检索同一行中另一列的值(在本例中为文本/字符串) ,我不能在这里发布图片,因为我没有足够高的声誉 我将解释每一步发生的情况:C# 在C语言中从本地数据库中的单个列检索数据#,c#,database,datagridview,C#,Database,Datagridview,我正在尝试创建一个本地数据库文件(用于学校作业),并且我已经设法使数据库工作(我可以向其中添加新数据等),数据库文件是.mdf格式的 有一件事我被卡住了。我很难解释它到底是如何工作的(我最近开始编程),所以我将发布一个链接到我用来制作数据库的视频: 我让它工作到我能够在某个数据库列中搜索一个值(它搜索一种颜色)。执行搜索后,DataGridView中只有一行可见。然后我必须检索同一行中另一列的值(在本例中为文本/字符串) ,我不能在这里发布图片,因为我没有足够高的声誉 我将解释每一步发生的情况
// btnZoeken is the search button I use at 1
private void btnZoeken_Click(object sender, EventArgs e)
{
/* Klantengegevens is the name of my table which means something like customer data,
tbGevraagdekleur is the textbox that I use at 1. */
this.klantengegevensTableAdapter.Fillby(this._Lock_IT_DatabaseDataSet.Klantengegevens, tbGevraagdekleur.text);
/* tbVoornaam is the textbox I used at 4., the name that has been placed in the 'Voornaam'
column should become visible in this textbox.
*/
tbVoornaam.text = this.klantengegevensTableAdapter.GetData().VoornaamColumn.ToString();
}
我希望我解释得足够好,您不应该注意表单中的所有其他按钮。我会尝试以下方法:
DataTable theTable = new DataTable();
this.klantengegevensTableAdapter.Fill(theTable);
tbVoornaam.text = theTable.Rows[0]["Voornaam"].ToString();
将“Voornaam”作为文本的原因是,这是存储在变量VoornaamColumn中的常量值,而您真正想要的是该列中的值,上面的代码为您提供了数据集中第一行的值。-@krystanhonour
编辑并尝试以下操作:
DataSet da= new DataSet();
DataTable theTable = new DataTable();
da.Tables.Add(theTable);
this.klantengegevensTableAdapter.Fill(da.Tables[0]);
tbVoornaam.text = da.Tables[0].Rows[0]["Voornaam"].ToString();
啊,是的,很抱歉我没有解释代码。谢谢@krystanhono在您的回答中添加了原始注释。我收到一条错误消息,说您给我的第二行代码中的“表格”是无效的。@krystanhonour感谢您编辑我的原始帖子TableAdapter提供了从我的应用程序到我的数据库的通信(我猜是另一种方式)。它还处理我可以进行的查询(其中一个用于使搜索功能成为可能)。使用(da.Tables[0])时,我仍然会收到一条错误消息,指出参数无效