Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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#_Database_Datagridview - Fatal编程技术网

C# 在C语言中从本地数据库中的单个列检索数据#

C# 在C语言中从本地数据库中的单个列检索数据#,c#,database,datagridview,C#,Database,Datagridview,我正在尝试创建一个本地数据库文件(用于学校作业),并且我已经设法使数据库工作(我可以向其中添加新数据等),数据库文件是.mdf格式的 有一件事我被卡住了。我很难解释它到底是如何工作的(我最近开始编程),所以我将发布一个链接到我用来制作数据库的视频: 我让它工作到我能够在某个数据库列中搜索一个值(它搜索一种颜色)。执行搜索后,DataGridView中只有一行可见。然后我必须检索同一行中另一列的值(在本例中为文本/字符串) ,我不能在这里发布图片,因为我没有足够高的声誉 我将解释每一步发生的情况

我正在尝试创建一个本地数据库文件(用于学校作业),并且我已经设法使数据库工作(我可以向其中添加新数据等),数据库文件是.mdf格式的

有一件事我被卡住了。我很难解释它到底是如何工作的(我最近开始编程),所以我将发布一个链接到我用来制作数据库的视频:

我让它工作到我能够在某个数据库列中搜索一个值(它搜索一种颜色)。执行搜索后,DataGridView中只有一行可见。然后我必须检索同一行中另一列的值(在本例中为文本/字符串)

,我不能在这里发布图片,因为我没有足够高的声誉

我将解释每一步发生的情况:

  • 在按钮和标签之间的文本框中,我可以键入要搜索的颜色。在我按下按钮后,它将在你在2处看到的列中搜索该值
  • 执行搜索后,只有一行显示我搜索的值
  • 然后它应该从该行的“Voornaam”(意思是名称)列中获取值/数据
  • 列中的名称应放在您在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”)的值相同。它应该是像马克或约书亚一样的真实名字


    我希望我解释得足够好,您不应该注意表单中的所有其他按钮。

    我会尝试以下方法:

     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])时,我仍然会收到一条错误消息,指出参数无效