刚才在网上下载了一个项目,里面的一段关于连接数据库的代码令我迷惑了
public object ExecuteScalar(string query)
{
cnn = new SqlConnection(strConnectionString);
SqlCommand cmd = new SqlCommand(query, cnn);
if (query.StartsWith("SELECT") | query.StartsWith("select"))
{
cmd.CommandType = CommandType.Text;
}
else
{
cmd.CommandType = CommandType.StoredProcedure;
}
cnn.Open();
object retval = cmd.ExecuteNonQuery();
cnn.Close();
return retval;
}
这段代码合理是用于查询数据,因为返回值是object,而且里面还设置了检查字符串是否为“select”开头
我迷惑的是,这里cmd调用的方法怎么是ExecuteNonQuery()
而不是ExecuteScalar或者ExecuteReader
ExecuteNonQuery能查询数据吗?不是只用于增删改而已吗?
小弟初学者,麻烦各位详细解答一下,谢了
关于ExecuteNonQuery()方法……
ExecuteScalar方法返回的类型是object类型,这个方法返回sql语句执行后的第一行第一列的值,由于不知到sql语句到底是什么样的结构(有可能是int,有可能是char等等),所以ExecuteScalar方法返回一个最基本的类型object,这个类型是所有类型的基类,换句话说:可以转换为任意类型。ExecuteNonQuery方法是用来执行ins...
cmd.ExecuteNonQuery();是什么意思?
ExecuteNonQuery() 方法主要用户更新数据,通常它使用Update,Insert,Delete语句来操作数据库,其方法返回值意义:对于 Update,Insert,Delete 语句执行成功是返回值为该命令所影响的行数,如果影响的行数为0时返回的值为0,如果数据操作回滚得话返回值为-1,对于这种更新操作用我们平时所用的是否大于0的判断...
ExecuteNonQuery:执行不返回任何行的命令.典型的例子是实现插入,更新和...
ExecuteNonQuery:执行不返回任何行的命令.典型的例子是实现插入,更新和删除 使用ExecuteNonQuery方法向数据表中插入记录并在GridView控件中显示出来,程序运行效果如图13-2所示。图13-2插入记录效果图(2)使用ExecuteNonQuery方法,更新数据表中记录并在GridV... 使用ExecuteNonQuery方法向数据表中插入记录并在GridView控件中显示...
ExecuteNoxecuteNonQuery()>0;各有什么意思
在编程中,ExecuteNonQuery()方法执行SqlCommand,其返回值表示受影响的行数,主要用于确认操作是否成功。当返回值大于0时,通常意味着插入、删除或更新操作已成功。然而,这个规则并非通用,比如某些数据库结构下,返回-1也可能表示成功,这可能与我们的直观理解有所出入,因此在使用时需要注意操作的具体语境。
ExecuteNonQuery();与ExecuteNonQuery()>0;各有什么意思
ExecuteNonQuery执行一个SqlCommand,该命令返回受操作影响的行数,该命令主要用于确定操作是否成功,比如插入、删除和更新操作,如果受影响的行数为0,则证明不成功。大于0表示操作成功。用于这种更新操作与我们通常的判断是大于0的操作应该没有问题,是更好的,但对于其他操作,如数据库的操作结构,如果返回...
ExecuteNonQuery() 方法的功能是什么?
执行增删改的方法,返回执行命令所影响的行数(return int类型)
ASP中return cmd.excutenoquery();的意思?
在 ASP 中,`return cmd.ExecuteNonQuery()` 表示执行 SQL 命令并返回受影响的行数。具体地说,`cmd` 是一个 `SqlCommand` 对象,用于执行 SQL 命令。调用 `ExecuteNonQuery()` 方法可以执行 INSERT、UPDATE、DELETE 等没有返回结果集的 SQL 命令,并返回受影响的行数。例如,对于以下的 SQL 命令:...
关于C#中ExecuteNonQuery()的问题
你说的是主键重复时候报错吧。这种情况一般在数据插入前判断数据表中是否有该数据。修改方法有两种:第一种是修改原来的process过程,在过程中插入数据前先判断有无数据,有数据则不插入;第二种是修改程序,在执行process过程前,执行一次有无数据的查询,通过结果来判断是否运行process过程。
C#中ExecuteNonQuery()方法与ExecuteScalar()方法到底有什么区别?不...
ExecuteScalar:执行查询,并返回查询所返回的结果集中第一行的第一列。如:查出两条记录id name第一行 2 TomExecuteNonQuery得到的是两条完整的记录
c# SqlCommand对象的ExecuteNonQuery()方法返回为0,但是数据库里面却更...
SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充。对于 Update、Insert 和 Delete 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值...