【问题标题】:insert sql commands by textbox通过文本框插入 sql 命令
【发布时间】:2014-04-25 10:34:52
【问题描述】:

我创建了 win 表单,我想插入 sql 命令并从数据库中获取数据。如果我将查询直接放入代码 sql 命令中,一切正常,如果我通过文本框进行查询,我有很多错误,例如:

$exception {"找不到存储过程'select * from uczniowie'。"}
System.Exception {System.Data.SqlClient.SqlException } 这个 {MateuszLab4.connectDB} MateuszLab4.connectDB 问题 "\"select * from uczniowie\"" 字符串 数据表 {} System.Data.DataTable sqlDataReader null System.Data.SqlClient.SqlDataReader sqlCommand {System.Data.SqlClient.SqlCommand} System.Data.SqlClient.SqlCommand

这是我的代码:

  private void buttonSearch_Click(object sender, EventArgs e)        
  {
        string query = textBoxQuery.Text;
        connectDB databaseWin = new connectDB("(localdb)\\v11.0", "Mat");
        dataGridViewAdvanced.DataSource = databaseWin.DataDownload(query);                      
  }

当我输入字符串查询 sql 命令(例如 string query = "select * from students" )时,一切都运行良好。如果我用文本框中的数据替换……那是错误的。各位大侠能给点建议吗?

这是我的 datadownloada 课程:

 public DataTable DataDownload(string question)
 {
        DataTable dataTable = new DataTable();
        SqlDataReader sqlDataReader; 
        SqlCommand sqlCommand; 

        sqlCommand = new SqlCommand(question);
        sqlCommand.Connection = this.DBconnection; 
        sqlDataReader = sqlCommand.ExecuteReader(); 
        dataTable.Load(sqlDataReader); 

        return dataTable; 
  }

【问题讨论】:

  • 将文本分配给字符串query后执行调试。

标签: c# sql ado.net


【解决方案1】:
Try this code. 
public DataTable DataDownload(string question)
 {
       using (var ada = new SqlDataAdapter(question, DBconnection))
        {               
            // Use DataAdapter to fill DataTable
            DataTable dt = new DataTable();
            ada.Fill(dt);
            return dt;


        }
  }

【讨论】:

    猜你喜欢
    • 2019-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 2017-06-04
    • 1970-01-01
    • 2012-01-03
    相关资源
    最近更新 更多