按文本框插入sql命令

时间:2014-04-25 10:34:53

标签: c# sql ado.net

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

  

$例外{"无法找到存储过程'从uczniowie中选择*'。"}
   System.Exception {System.Data.SqlClient.SqlException}         这个{MateuszLab4.connectDB} MateuszLab4.connectDB         问题" \"选择*来自uczniowie \""串         dataTable {} 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命令时(例如字符串查询="从学生中选择*")一切都运行良好。如果我用文本框中的数据替换某事是错误的。你能给我一些提示吗?

这是我的课程,其中包括dat intaa:

 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; 
  }

1 个答案:

答案 0 :(得分:0)

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;


        }
  }