c# - cmd.ExecuteNonQuery() 在我的程序中到底做了什么

标签 c# asp.net database

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()?

最佳答案

如果我们想处理数据库,会发生两件事,即;修改、检索

修改:

在修改部分,我们有插入删除更新,...查询。为此我们需要使用ExecuteNonQuery命令.为什么因为我们不是在查询数据库,而是在修改。

语法:

cmd.ExecuteNonQuery 方法

检索:

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

如果select Query返回多条记录,需要用到ExecuteReader()

如果select Query只返回一条记录,我们需要使用ExecuteScalar()

语法:

cmd.ExecuteReader() 方法

cmd.ExecuteScalar() 方法

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

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

相关文章:

c# - "The non-generic type ' System.Web.UI.Pair' cannot be used with type arguments"是什么意思?

c# - System.Reflection.TargetInvocationException;需要帮助理解

asp.net - 如何允许匿名访问 ADFS 托管站点上的单个文件夹

c# - ReadEntityBody 改变了行为

mysql - mysql 数据库可以有外键引用另一个数据库服务器中的表吗

database - 在索引名中包含表名有什么好处?

c# - 为什么 Type.GetFields() 不返回基类中的支持字段?

java - 将凭据从 dotNet 客户端传递到 Java Web 服务

C# 从 URL 中读取文件信息

php - 条形码范围的数据库设计