SpringMVC + Mybatis的一个项目,mapper文件里写了一条sql 大概相当于 select a from tableA where b = "123" 这样的级别 然后不管传进去的是什么 数据库里有没有...都会返回null ---- 第一反应是sql语句写错了,比如把1和小写L弄混了之类的,传给sql的参数里有奇怪的空格等等 于是打开debug log 拿到传给sql的preparedStatement...和对应的参数 复制到console里自己查了一下,可以执行,返回结果也正确,说明不是sql的问题 ---- 既然不是sql的问题,那只好调试一下代码了 既然preparedStatement sql能够被打印出来...)throw new IllegalArgumentException("null input: cls"); URL result = null; final String...= null ?
ExecuteNonQuery()的用法 下面我们将详细讲解如何在Page_Load()中对数据库的增加、删除、修改,最后我们再来总结一下ExecuteNonQuery(),ExecuteScalar...ExecuteScalar();先增加一条记录,返回未实列化的对象 MyConnection.Close(); } 2、 删除现有数据 private void Page_Load...ExecuteScalar();先删除n条记录,返回未实列化的对象 MyConnection.Close(); } 3、 修改现有数据 private void Page_Load...(),ExecuteReader方法的区别: 1、ExecuteNonQuery():执行SQL,返回一个整型变量,如果SQL是对数据库的记录进行操作,那么返回操作影响的记录条数,如果是 SQL=”...如果(如果SQL不是查询Select)那么 返回一个没有任何数据的System.Data.OleDb.OleDbDataReader类型的集合(EOF) 四、总结: ASP.Net中对于数据库的操作方法很多
DbCommand.ExecuteScalar 方法 执行查询,并返回查询所返回的结果集中第一行的第一列。 所有其他的列和行将被忽略。...备注: 使用 ExecuteScalar 方法从数据库中检索单个值(例如一个聚合值)。...如果找不到结果集中第一行的第一列;则返回 null 引用(在 Visual Basic 中为 Nothing)。 如果数据库中的该值为 null,此查询将返回 DBNull.Value。...然后在 openSUSE 12.1 操作系统的 MySQL 5.5.16 数据库中执行以下 SQL 命令: ben@vbox:~/work/SQL-Antipatterns> mysql -u test...select 语句返回的结果集中有一行数据,但是其值是 NULL,这是因为 SQL MAX() 函数在起作用。
conn.Open():在执行MySqlCommand之前一定要先打开数据库连接,否则会报错。...断点调试看见cmd(long) long count =Convert.ToInt64 (cmd.ExecuteScalar());//这样写确保数据类型范围足够大。...(); //ExecuteScalar:执行查询,并返回查询所返回的结果集中第一行的第一列, //忽略其他行列。...null值 1 第七节第 8 节: 读取数据库中的null值 2 3 使用IsDBNull获取指定序号的列的值是否为null 4 5 int?...public static void ( int ,params string[ ] strs ) params 关键字前边可以有其他参数,params,必须放在参数的最后一个前面【目的就是该参数可以写,也可以也很多个
int 类型的变量,返回数据库操作之后影响的行数。...适合用来验证对数据库进行增删改的情况。 2、ExecuteScalar()也可以执行sql语句。如果SQL语句是Select查询,则仅仅返回查询结果集中第一行第一列,而忽略其他行和列。...(建议查询数据库时使用) 由于不知道sql语句到底是什么样的结构(有可能是int,有可能是Char等其它,)所以ExecuteScalar()方法返回一个最基本的类型Object,这个类型是所有类型的基类...()也返回一个int型变量。...(建议查询数据库时使用) 由于不知道sql语句到底是什么样的结构(有可能是int,有可能是Char等其它,)所以ExecuteScalar()方法返回一个最基本的类型Object,这个类型是所有类型的基类
/// 此类为抽象类,不允许实例化,在应用时直接调用即可 /// public abstract class SqlHelper { //获取数据库连接字符串,其属于静态变量且只读...//关闭数据库连接,并通过throw再次引发捕捉到的异常。...object类型的数据,可以通过 Convert.To{Type}方法转换类型 public static object ExecuteScalar(string connectionString...(); return val; } } /// /// 执行一条返回第一条记录第一列的SqlCommand命令,通过已经存在的数据库连接。...object类型的数据,可以通过 Convert.To{Type}方法转换类型 public static object ExecuteScalar(SqlConnection connection
大家好,又见面了,我是全栈君 ExecuteScalar运行查询,并返回查询所返回的结果集中第一行的第一列或空引用(假设结果集为空).忽略其它列或行....使用 ExecuteScalar 方法从数据库中检索单个值。...COUNT() [说明]:我们平时Select 时候可能会碰上这样的情况,即所求的数据集为空或不存在两种情况 数据集为空即值为NULL, 可是它的行数为1 代码不加以推断的话会出现“指定的转换无效”的...MessageBox.Show(“Result Is Null 数据集的行数为一”); 数据集不存在即行数为零 直接使用 Int32 count = (Int32) cmd.ExecuteScalar...() 会出现“未将对象引用设置到 对象的实例”的ERROR 解决方式–> object obj = comm.ExecuteScalar(); if (obj == null ) MessageBox.Show
. /// /// /// 如果是SqlHelper打开连接,当连接关闭DataReader也将关闭..../// 执行指定数据库连接字符串的数据阅读器,指定参数值. /// /// /// 此方法不提供访问存储过程输出参数和返回值参数...#region ExecuteScalar 返回结果集中的第一行第一列 /// /// 执行指定数据库连接字符串的命令,返回结果集中的第一行第一列...); } /// /// 执行指定数据库连接对象的SqlCommand命令,并产生一个XmlReader对象做为结果集返回,指定参数...,使用DataRow做为参数值,返回受影响的行数. /// /// 一个有效的数据库连接对象<
从上篇文章给出的实例来看,你一定会发现,操作数据库其实还挺麻烦的,就连一个最简单的数据库操作语句都要包括 定义数据库连接字符串、创建数据库连接对象、打开数据库连接、定义sql语句、实例化操作数据库操作对象...上面两个参数是肯定得有的,另外还有一个东西,它不是需要我们传进去的参数,而是一个需要我们进行配置的值,那就是数据库连接字符串conStr,在我的第一篇博客里也提到了这个东西的配置,这是方便我们更改连接的数据库而设定的一个参数...记得我们前面说过,这个方法返回的对象 reader它不是一个装东西的仓库,它只是一个纽带,那么我们返回这个东西后,我们还要用这个东西来从数据库取值,但是如果用using的话,那默认就是using结束后就把数据库关掉了...,这个时候,数据库已经关掉了,我们即使得到了返回的这个reader,也没法用它来取值了,就相当于返回的reader对我们并无卵用了。...关于SqlHelper的封装,我就说到这里啦,文中有些地方我写的时候也不是很懂,但是写完了就懂了。
第二步:所要完成的功能的说明: 在这里我要完成的功能其实非常非常的简单,就是查询一张表,看里面有多少条数据,然后返回数据的条数,大致是这样的,我们有一个窗体窗体上有个按键,点击这个按键(查看XXX表中的数据条数...),弹出窗口,显示:XXX表中有XX条数据。...第三步:三层实现流程介绍 1.确定sql语句 为了保证数据库操作语句不出错误,我先在数据库中新建查询,看能不能查到我要的结果,我用的数据库是sqlserver,数据库管理软件是微软的 MSMS,查询结果如图所示...如图所示可以看到,用该语句查询出的结果是表中有54条数据,下面我看一下是否有误: ?...,也没写要连那个数据库,更没写是那个用户登录的,登录密码是啥?
解决办法其实很简单,只需要为你的**.xml中的insert增加两个属性就可以了。 例如,我的SponsorsMapper.xml中原来的代码如下:
sql命令(不返回数据集) /// /// 一个有效的连接字符串 /// 返回数据集) /// /// ///举例: /// int result = ExecuteNonQuery...cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; } /// /// 用执行的数据库连接执行一个返回数据集的...conn.Close(); throw; } } } /// /// 用指定的数据库连接字符串执行一个命令并返回一个数据集的第一列...(); return val; } } /// /// 用指定的数据库连接执行一个命令并返回一个数据集的第一列
第一部分:连接数据库 1.先说一下连接数据库的基本步骤哈: (1)创建连接字符串: 创建连接字符串有两种方法,分别适用于登录数据库的不同方式,我这里说的是我用的sqlserver数据库哈,其他的数据库应该也差不多吧...(2)ExecuteScalar();这个书上是这么写的 ==》返回的是一个 对象(object)类型,返回结果集中的 第一行第一列 的值,什么意思?...而用ExecuteScalar()返回到的就是这个areaId.这么讲应该就懂了吧。...下面具体说一下这个程序里几个点: (1)reader.HasRows:这个方法的功能就是先看看数据库中有没有查询到你需要的数据,有就返回true,没有就返回false; (2)reader.Read()...NULL" : reader.GetString(2)); 先判断是否为null,如果为null,则输出NULL,如果不为null,则输出存在的那个值,我修改了刚才的表,是其中有几个值为空,然后分别看看查询的结果
不同的数据库需要不同的数据库提供程序,它们的名字都很类似。...这里将SqlConnection放入using语句中,确保即使出现异常,数据库连接也可以关闭,并及时释放资源。...ExecuteReader方法执行查询语句或者存储过程,并返回一个IDataReader类型的结果集。 ExecuteScalar方法执行命令并返回结果集中的第一行第一列的值。...对于SQLCommand,还提供了一个额外的方法ExecuteXmlReader,它返回一个XMLReader,可以将SQL数据库的内容转化成Xml格式。...打开MySQL数据库,新建一个test数据库,数据表和数据仍然使用上面的student数据表。由于只使用了最简单的数据库语句,因此在这些数据库中基本是通用的。
创建数据库 现在让我们创建数据库以及稍后将从应用程序中查询的表。...创建类 创建一个新类来连接数据库并将实际代码与访问数据库的代码分开始终是一个更好的主意。这将有助于保持我们的代码整洁、更易于阅读且更高效。...ExecuteReader:用于执行将返回0个或更多记录的命令,例如Select。 ExecuteScalar:用于执行仅返回 1 个值的命令,例如 Select Count(*)。...,例如如果我们想要计算记录数,我们一直在使用 Select Count(*) from tableinfo;,在这种情况下,我们将不得不使用 ExecuteScalar 方法将返回一个值。...成功运行并ExecuteScalar的流程如下: 打开与数据库的连接。 创建 MySQL 命令。 为命令分配连接和查询。
1.使用ExecuteReader()操作数据库 2.使用ExecuteNonQuery()操作数据库 3.使用ExecuteScalar()操作数据库 4.使用DataSet数据集插入记录,更新数据...二、使用ExecuteNonQuery(),ExecuteScalar()操作数据库,执行增删改操作的利器 ExecuteNonQuery()通常情况下为数据库事务处理的首选,当需要执行插入,删除,修改等操作时...,返回值是-1,ExecuteNonQuery()操作数据时,可以不使用DataSet直接更改数据库中的数据。...ExecuteScalar()方法也可以用来执行SQL语句,但是executescalar()执行SQL语句后返回值与ExecuteNonQuery()并不相同,executescalar()方法的返回值的数据类型是...三、使用DataSet数据集插入记录,更新数据 使用insert语句能够完成数据,使用dataset对象也可以完成数据插入。
SQLite这个精巧的小数据库,无需安装软件,只需要一个System.Data.SQLite.DLL文件即可操作SQLite数据库。...SQLite是 一个开源数据库,现在已变得越来越流行,它的体积很小,被广泛应用于各种不同类型的应用中。...= null) { foreach (object parm in p) cmd.Parameters.AddWithValue...= null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) return ds.Tables[0].Rows...[0]; return null; } /// /// 返回受影响的行数 ///
:表示一组数据命令和一个数据库连接,它们用于填充 DataSet 和更新数据源。... /// ExecuteNonQuery:执行数据库语句返回受影响的行数,失败或异常返回-1[通常为:INSERT、DELETE、UPDATE 和 SET 语句等命令... /// ExecuteScalar:执行数据库语句返回第一行第一列,失败或异常返回null /// ExecuteDataReader... /// ExecuteScalar:执行数据库语句返回第一行第一列,失败或异常返回null /// ExecuteDataReader...,失败或异常返回null /// /// 执行数据库语句返回第一行第一列,失败或异常返回null ///
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。 3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。...public int Age { get; set; } public string Name { get; set; } } } SQLHelper类,封装了数据库操作的方法...() 返回第一行第一列数据 /// /// 要执行的sql语句 ///...return model1; } else//以防意外情况 { throw new Exception("数据库中有两条及以上重复数据...如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。 2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。
C# 操作 access 数据库 随笔: (1) 命名空间 using System.Data.OleDb; (2) 连接字符串 private...Microsoft.Ace.OLEDB.12.0;Data Source = d:\login.accdb"; 注意: a、DataSource = 数据库存放的路径...(这里数据库放到了D盘目录下) b、 2003版本的Access数据库链接字符串: privatestatic stringconnStr =@"Provider = Microsoft.Jet.OLEDB....4.0;DataSource = d:\login.mdb"; 2007版本的Access数据库链接字符串:privatestaticstring connStr...} conn.Open(); return (cmd.ExecuteScalar());
领取专属 10元无门槛券
手把手带您无忧上云