小编Rya*_*ulx的帖子

SQLCommand.ExecuteReader()不限制只读语句

显然,ExecuteReader用于只读,ExecuteNonQuery用于事务.但由于某些原因,即使我使用ExecuteReader,我仍然可以运行write(插入,更新,删除)命令(在textbox1中键入).我的代码有问题还是我误解了ExecuteReader的工作方式?

//MY CODE

string sqlStatement = textbox1.Text;

System.Data.SqlClient.SqlConnectionStringBuilder builder =
  new System.Data.SqlClient.SqlConnectionStringBuilder();
builder.DataSource = ActiveServer;
builder.IntegratedSecurity = true;

System.Data.SqlClient.SqlConnection Connection = new 
   System.Data.SqlClient.SqlConnection(builder.ConnectionString);
Connection.Open();

System.Data.SqlClient.SqlCommand command = new 
  System.Data.SqlClient.SqlCommand(sqlStatement, Connection);
System.Data.SqlClient.SqlDataReader reader = command.ExecuteReader();

dataGridView1.AutoGenerateColumns = true;

bindingSource1.DataSource = reader;
dataGridView1.DataSource = bindingSource1;

reader.Close();
Connection.Close();
Run Code Online (Sandbox Code Playgroud)

c# sql sqldatareader readonly

3
推荐指数
2
解决办法
4428
查看次数

标签 统计

c# ×1

readonly ×1

sql ×1

sqldatareader ×1