string connection = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=D:\\it101\\LoginForm\\App_Data\\registration.mdb";

string query = "INSERT INTO [registration] ([UserID] , [Name] , [Contact_no] , [City]) values (123, 'abc' ,12345, 'pqr')";

OleDbConnection con = new OleDbConnection(connection);
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = query;
cmd.CommandType = CommandType.Text;
cmd.Connection = con;

con.Open();
cmd.ExecuteNonQuery();

如果我在程序末尾不写cmd.ExecuteNonQuery()怎么办?
而且,如果需要执行查询,为什么要编写executeNonquery()而不是executeQuery()?

最佳答案

如果我们要处理数据库,将会发生两件事:修改,检索

修改:

在Modifying Section中,我们有Insert,Delete,Update,... queries.so为此,我们需要使用ExecuteNonQuery命令。为什么因为我们不在查询数据库,所以我们正在进行修改。

句法:

cmd.ExecuteNonQuery方法

检索:

在此我们使用Select语句查询数据库。为此,我们使用ExecuteReader(),ExecuteScalar()

如果选择查询返回多个记录,则需要使用ExecuteReader()

如果选择查询仅返回一条记录,则需要使用ExecuteScalar()

句法:

cmd.ExecuteReader()方法

cmd.ExecuteScalar()方法

上面的语句(ExecuteReader(),ExecuteScalar(),SqlCommand.ExecuteNonQuery())用于执行在SqlCommand中给出的命令语句。如果不使用,则不会执行命令。

关于c# - cmd.ExecuteNonQuery()在我的程序中到底做了什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22143203/

10-09 18:19