Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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# 将值从MySQL DB加载到datagrid视图中的特定列_C#_Mysql_Database_Winforms_Datagrid - Fatal编程技术网

C# 将值从MySQL DB加载到datagrid视图中的特定列

C# 将值从MySQL DB加载到datagrid视图中的特定列,c#,mysql,database,winforms,datagrid,C#,Mysql,Database,Winforms,Datagrid,我想从数据库中提取数据。我只需要显示前三列(0,1,2),而不是全部。我怎么能这么做 > string selectQuery = "select command line goes here where.... offerMadeBy='"+cbox1.Text.ToString()+"';"; > MySqlConnection sqlCOnnect = new MySqlConnection(RootDBConnection.myConn

我想从数据库中提取数据。我只需要显示前三列(0,1,2),而不是全部。我怎么能这么做

>     string selectQuery = "select command line goes here where.... offerMadeBy='"+cbox1.Text.ToString()+"';";
>                 MySqlConnection sqlCOnnect = new MySqlConnection(RootDBConnection.myConnection);
>                 MySqlCommand sqlCmd = new MySqlCommand(selectQuery,sqlCOnnect);
>                 MySqlDataAdapter sqlAdapter;
>                 try {
>                     sqlAdapter = new MySqlDataAdapter();
>                     sqlAdapter.SelectCommand = sqlCmd;
>     
>                     DataTable dbset = new DataTable();
>                     sqlAdapter.Fill(dbset);
>                     BindingSource bindSource = new BindingSource();
>     
>                     _dataGridView.DataSource = null;
>                     bindSource.DataSource = dbset;
>                     _dataGridView.DataSource = bindSource;
>                     sqlAdapter.Update(dbset);
>     
>     
>                     if (sqlCOnnect.State == ConnectionState.Open) {
>                         sqlCOnnect.Close();
>                     }
>                 }catch(MySqlException ex){
>                     MessageBox.Show("Can't load data from DB.\nReason:"+ex.Message);
>                 }

您可以从数据库中选择所需的字段。此外,您必须打开与SQL的连接,最后使用参数,例如:

string selectQuery = "select field1,field2,field3 from mytable where offerMadeBy=@param";
MySqlConnection sqlCOnnect = new MySqlConnection(RootDBConnection.myConnection);
MySqlCommand sqlCmd = new MySqlCommand(selectQuery,sqlCOnnect);
sqlCmd.Parameters.AddWithValue("@param", cbox1.Text.ToString());
try { 
       sqlCOnnect.Open()
       using (sqlCOnnect)
       {
        ....
       }
      }

你不能只选择sql中需要的列(
selectQuery
)?好吧,作为提示。这很明显,就像从DB到Combobox获取值一样。好的,你能解释一下为什么我要这样写“@”和Parameters.AddWIthValue吗?这只是防止SQL注入?是的,最重要的好处是防止注入,但是使用参数优化了c#part的查询执行