我正在尝试创建一个本地数据库文件(用于学校作业)并且我已设法使数据库正常工作(我可以向其中添加新数据等),数据库文件采用.mdf格式
有一件事我被困住了。我很难解释它是如何工作的(我最近开始编程)所以我将发布一个链接到我用来制作我的数据库的视频: video here
我让它工作到我能够在某个数据库列中搜索值(它搜索颜色)。执行搜索后,DataGridView中只能看到一行。然后我必须检索同一行中另一列的值(在本例中是text / a string)。
This is the project I'm working on,我无法在此发布图片,因为我没有足够高的声誉。
我将解释每一步发生的事情:
列中的名称应放在您在4处看到的文本框中。
// 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();
}
代码确实在4的文本框中放置了一个值,但文本框的文本与列的名称(即'Voornaam')的值相同。它应该是像Mark或Joshua这样的实际名称。
我希望我解释得足够好,你不应该注意你在表格中看到的所有其他按钮。
答案 0 :(得分:1)
我会尝试这样的事情:
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();