首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#中往数据库插入更新时候关于NUll的处理

SqlCommand对传送的参数中如果字段的是NULL具然不进行更新操作,也不提示任何错误。。。百思不得其解。。。先作个记录,再查资料看看什么原因。...而是指DBNull.Value。...在用C#往数据库里面插入记录的时候, 可能有的字段你不赋值,那么这个字段的就为null, 如果按一般想法的话,这个会被数据库接受, 然后在数 据表里面显示NUll, 实际上这就牵扯到一个类型的问题...cmd.parameters.add("@StuAge" ,stuage);        cmd.ExecuteNonQuery(); 这些代码看似没有问题, 其实当stuname于stuage中的任何一个...解决办法:         其实最简单的办法就是进行判断, 当stuname或stuage时, 插入DBNull.Value.

3.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

mysql中有execute_jdbc连接mysql数据库

一、首先,来看看ExecuteNonQuery的返回: 1. 对于Update、insert、Delete语句执行成功是返回该命令所影响的行数,如果影响的行数是0,返回就是0; 2....对于所有其他类型的语句,返回-1; 3. 如果发生回滚,返回-1; 4. 我们一般对于更新操作,通过判断返回是否大于0,这个是没有问题的。...但是对于其他的操作【如对数据结构的操作(建表等)】如果操作成功返回却是-1,但是要注意一下啊,例如给数据库添加一个新表,创建成功返回-1,如果操作失败就会发生异常,所有执行这种操作最好用Try,Catch...ParameterDirection.InputOutput || p.Direction == ParameterDirection.Input) && (p.Value == null)) { p.Value=DBNull.Value...[] parms={new SqlParameter(“@name”,userName),new SqlParameter(“@loginID”,loginId) };int rlt =ExecuteNonQueryClas.ExecuteNonQuery

2K10

数据库之ADO.NET基础知识整理

增删改:ExecuteNonQuery()  执行对数据库的增删改,返回受影响的行数,适合:insert、delete、update(对于其他语句返回-1) //cmd.该方法,相当于执行了SQL语句,如果不写这个或其余两个相当于...4.只有对象调用Close(),的时候才会放入池中,如果一个连接对象一直在使用,下次再创建一个连接对象发现池中没有,也会再创建一个新连接对象。...5.在池中的连接对象,如果过一段时间没有被访问自动销毁。 十一:SQL注入漏洞攻击(连接的数据库)      1. 若想SQL注入在账户名后加上“' or1=1--”字符串。      2....   comboBox1.SelectedIndex = 0;     //显示第一行 3.想要拿到控件选定时的数据,可将其换为所需对象用as     Areaarea= comboBox1.SelectedItem...SelectValue             MessageBox.Show(comboBox1.SelectedValue.ToString());        } 五:处理 DBNull

1.9K20

【整理】待毕业.Net码农就业求职储备

另外,本来想将本文标题取就业求职宝典,但一想这名字太LOW了,而且太过浮华了,本文也根本达不到那个目标,于是将其改为储备,简洁明了。...在这种情况下,比较和移动次数均达到最大:  ? ?   所以,冒泡排序的最坏时间复杂度 ? 。 综上所述,冒泡排序总的平均时间复杂度 ? 。...= j) { // 先判断右半部分是否有小于temp的数,如果交换到array[i] while (i < j...array[i++] = array[j]; } // 在判断左半部分是否有大于temp的数,如果交换到...mid].key,则在右子表中继续进行二分查找;   ②这样,经过一次比较,就缩小一半查找空间,如此进行下去,直到查找成功,或者当前查找区间时为止(或区间的下界大于等于上界时为止)。

67130

executescalar mysql_DbCommand.ExecuteScalar 方法的返回

如果找不到结果集中第一行的第一列;返回 null 引用(在 Visual Basic 中 Nothing)。 如果数据库中的该 null,此查询将返回 DBNull.Value。...来判断查询结果是否。...如果是使用 DbCommand.ExcuteReader 方法来获得查询结果: 对于第二个 select 语句,需要判断 DbDataReader.Read 方法的返回来决定查询结果是否。...对于第三个 select 语句,DbDataReader.Read 方法的返回总是 true,而是通过 DbDataReader.IsDBNull 方法来判断查询结果是否。...看来这里的 MAX() 函数是不能省略的,虽然 Keyswords 表的 keyword 列上有 unique 索引,查询结果中不可能有多行,但是查询结果可能为空集,所以需要使用 MAX() 函数将的查询结果转换为

1.4K20

DBNull.Value与Null的区别

DBNull是一个类。DBNull.Value是它唯一的实例。它指数据库中数据()时,在.net中的。 以下是我测试的一个例子。...dt.Rows[0]["address"]不等于null但是等于DBNull.Value. 可见null表示一个对象的指向无效,即该对象对象。...DBNull.Value表示一个对象在数据库中的,或者说未初始化,DBNull.Value对象是指向有效的对象。 另外注:对上述dt,如果有如下代码:dt.Rows[0][100]。结果如何?...对于普通的引用类型变量,如果指向对象null,则会提示:未将对象引用设置到对象实例。...但对于使用dt.Rows[i][j]取值,如果第i行存在但i行没有j列,直接出现异常,不会返回一个指向null的dt.Rows[i][j]。 所以:使用(dt.Rows[0][100]!

87810

c#的细节(一)-问号的细节

如果表达式的类型和赋值类型不一致,发生编译时错误 ,例如:如果你想实现如下代码: string strTemp ; object obj; .......DBNull.Value: (object)strTemp; 另外条件操作符是向右关联的,从左到右进行计算,于是a?b:c?d:e 应理解 a?b:(c?d:e)。...同时你会发现,在数据库应用上,数据库中有的字段允许取,在C#世界中引入nullable类型正好与之对应,,从(C#)对象映射到关系数据库对象,或者反过来,转换都是比较平滑。...左边的,如果左边null,取所赋值??右边的,比如int y = x ?? -1 如果x,那么y的-1....Nullable类型具有一个HasValue的bool类型只读属性,当Nullable类型实例的该属性true时,表示该实例是非实例,包含一个已知Value,HasValuefalse时,访问

87460

DataSet的灵活,实体类的方便,DTO的效率:SOD框架的数据容器,打造最适合DDD的ORM框架

,它一定是NULL,也就是 程序中说的 NBNULL.Value,看输出结果验证: user["Age"] == DBNULL.Value :True user.Age:0 当然,这里数据库,要求表字段是支持可的...从这里我们可以得出结论: 结论二: SOD 用OQL 查询的实体类属性,如果数据库对应的字段,那么实体类内部该属性DBNull.Value) 2.2.3 在OQL查询中的NULL 在...OQLCompare对象上,可以直接调用 IsNull 方法来判断实体类某个属性在数据库对应的是否,例如下面的例子: //查询没有填写 LastName的用户,即LastName==DBNull.Value...所以,SOD的实体类,属性可以定义非可类型的,但是属性的内部,null或者 DBNull.Value 都是可以的。...Object对象上,这也是 为何SOD实体类可以处理2种null,DBNull.Value的原因。

2.7K90

我在工作中使用的自己实现的超简易ORM工具

cmd.ExecuteNonQuery();      }      else      {       long id=Convert.ToInt64( cmd.ExecuteScalar());       /**给主键赋值刚才生成的...sql.Append("\n@"+ fm.Column  +",");     }    }    sql.Remove(sql.Length-1,1);    sql.Append(") ");    //如果主键自动编号...,加上查询最新的代码    if(map.PkCreater ==PrimaryKeyType.Identity )    {     sql.Append("\n SELECT SCOPE_IDENTITY...    else     {      return Convert.ChangeType(val,totype);     }    }       }   ///    /// 将换为数据库兼容的类型...when   a.colorder=1   then   d.name   else   ''   end,          字段名=a.name,         类型=b.name,    允许=

1.6K80

C# Web控件与数据感应之 ListControl 类

ListControl 类类型控件 在这里我们以 System.Web.UI.WebControls.DropDownList 控件例,其表示允许用户从下拉列表中选择单个项的控件,包括显示的(ListItem.Text...,指捆绑成功后是否还需要添加一个项,该项会自动增加到第一个选项(如Value,Text 显示 “未选择” ),且处于默认选择状态,否则会自动默认为数据源的第一个选项 9 allownullvalue...string 当允许添加一个项时(allownulltrue),指定项存储的 Value 10 allownulltext string 当允许添加一个项时(allownulltrue)...,指定项存储的 Text 实现 simpleDataList 方法完整代码如下: public void simpleDataList(string DbServerType,string strConn...(100) 存储的显示 用户可以看到的选择时的呈现值 4 sortid int 排序号 调用 假设前端 UI 有 ID x_p_refImageDescript 的 DropDownList

6810

ADO数据库C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter

参数,如果没有参数,则为null 返回int受影响的行数 public static int ExecuteNonQuery(CommandType commandType, string cmdText...如果SQL语句是Select查询,仅仅返回查询结果集中第一行第一列,而忽略其他行和列。如果SQL语句不是Select查询,这个返回结果没任何作用。...建议查询数据库时使用)  由于不知道sql语句到底是什么样的结构(有可能是int,有可能是Char等其它,)所以ExecuteScalar()方法返回一个最基本的类型Object,这个类型是所有类型的基类,可以转换为任意类型...如果SQL语句是Select查询,仅仅返回查询结果集中第一行第一列,而忽略其他行和列。如果SQL语句不是Select查询,这个返回结果没任何作用。...SqlCommand对象中调用, 返回SqlDataReader,如果在OledbCommand对象中调用,返回的是OledbDataReader,可以调用DataReader的方法和属性迭代处理结果集

81330

WCF入门 (13)

因为Name属性被注释了,所以从查找出来的结果Name的textbox。 3。 下面我们新保存一个Employee。 ? 如图显示保存成功,但是很明显,数据库里面的Name一定是Null。 ?...这个Name的Value消失了,如果我们想再获取这个Name的Value,我们应该怎么做? 下面今天的主角登场。 我们来对代码做一些修改。 4。...lastSavedEmployee不为,并且lastSaveEmployee的id和传入的id是同一个,那么就复制return的emp的ExtenstionData属性lastSavedEmployee...Name“Name”,Value“TestName”,也就是我们输入的。 点击保存,提示保存成功,check一下数据库里面的。 ? NameNull。 7。然后我们调用一下查找方法。...可以看到,TestName这个虽然没有存入数据库,但还是被Preserve下来了。

29920
领券