向数据库中插入数据出现的问题。帮忙给看看吧。

问题描述

privatevoidbutton1_Click(objectsender,EventArgse){stringstrcon="Server=(local);IntegratedSecurity=true;database=stu_info_manage";try{stringstrsql="insertintostu_info_manage(sno,sname,ssex,sbirthtime,snation,sdept,smajor,sclass,scome,sphone,saddress,scomment)values('"+this.textBox1.Text.Trim()+"','"+this.textBox2.Text.Trim()+"','"+this.comboBox1.Text.Trim()+"','"+this.textBox4.Text.Trim()+"','"+this.dateTimePicker1.Value.ToShortDateString()+"','"+this.textBox6.Text.Trim()+"','"+this.textBox7.Text.Trim()+"','"+this.textBox8.Text.Trim()+"','"+this.dateTimePicker2.Value.ToShortDateString()+"','"+this.textBox9.Text.Trim()+"','"+this.textBox10.Text.Trim()+"','"+this.richTextBox1.Text.ToString()+"')";SqlConnectionmyconn=newSqlConnection(strcon);myconn.Open();SqlCommandmycomm=newSqlCommand(strsql,myconn);inti=mycomm.ExecuteNonQuery();myconn.Close();if(i>1){MessageBox.Show("插入成功!");}}catch(Exceptionex){MessageBox.Show("请全部填写,内容不能为空。","系统提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);}}总是出现“请全部填写,内容不能为空”。应该是try语句里出现了异常。可我不知道什么地方出现了异常~

解决方案

解决方案二:
你调试一下,到了SqlCommandmycomm=newSqlCommand(strsql,myconn);这一步,将sql语句放到sqlServer里面执行一下,如果正确那么就是考虑是否打开了数据库,否则就是这条语句错了。有可能是数据类型问题。
解决方案三:
连接数据库的语句好像不对。
解决方案四:
privatevoidbutton1_Click(objectsender,EventArgse){stringstrcon="Server=(local);IntegratedSecurity=true;database=stu_info_manage";try{stringsno=this.textBox1.Text.Trim();stringsname=this.textBox2.Text.Trim();stringssex=this.comboBox1.Text.Trim();stringsbirthtime=this.textBox4.Text.Trim();stringsnation=this.dateTimePicker1.Value.ToShortDateString();stringsdept=this.textBox6.Text.Trim();stringsmajor=this.textBox7.Text.Trim();stringsclass=this.textBox8.Text.Trim();stringscome=this.dateTimePicker2.Value.ToShortDateString();stringsphone=this.textBox9.Text.Trim();stringsaddress=this.textBox10.Text.Trim();stringscomment=this.richTextBox1.Text.ToString();StringBuilderstrsql=newStringBuilder("insertintostu_info_manage(sno,sname,ssex,sbirthtime,snation,sdept,smajor,sclass,scome,sphone,saddress,scomment)");strsql.AppendFormat("values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}')",sno,sname,ssex,sbirthtime,snation,sdept,smajor,sclass,scome,sphone,saddress,scomment);SqlConnectionmyconn=newSqlConnection(strcon);myconn.Open();SqlCommandmycomm=newSqlCommand(strsql.ToString(),myconn);inti=mycomm.ExecuteNonQuery();myconn.Close();if(i>1){MessageBox.Show("插入成功!");}}catch(Exceptionex){//MessageBox.Show("请全部填写,内容不能为空。","系统提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);MessageBox.Show(ex.Message);//看看原始异常信息到底是什么?}}

你的sql语句不要写在一行,不然无法判断到底是从哪一个控件中取值失败,另外要在代码中设置断点进行调试,不然怎么可能知道bug到底出在什么地方。你无法判断到底是拼接处理的sql错误还是数据库连接错误
解决方案五:
恩,这样写就知道是哪里出错了。说的是。这从字符串向datetime转换时失败。我数据库里设置的sbirthtime和scome的数值类型都是datetime类型的。这里出现了问题。正在找解决办法呢。。
解决方案六:
'"+this.dateTimePicker1.Value.ToShortDateString()+"'和'"+this.dateTimePicker2.Value.ToShortDateString()+"'把两对单引号去掉
解决方案七:
如果你是做产品的话,请尽量不要这样写。一是容易存错数据,二是容易被sql注入

时间: 2024-11-05 16:23:31

向数据库中插入数据出现的问题。帮忙给看看吧。的相关文章

java-当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码?

问题描述 当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码? 当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码? 怎么才能解决问题,跟jdbc driver Manager的设置有关系吗? 解决方案 数据库字符集 与 页面编码 都使得 是 uft-8?得统一 解决方案二: 建议编码格式采用UTF-8的格式 解决方案三: 在使用数据的每一个节点上,其编码方式必须要一致否则就会出现乱码.特别是使用MySQL时,客户端,连接器.数据库

asp中网access数据库中插入数据乱码

问题描述 asp中网access数据库中插入数据乱码 <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> meta http-eq

jsp-JSP向数据库中插入数据时显示全都是问号,怎么能解决一下啊?

问题描述 JSP向数据库中插入数据时显示全都是问号,怎么能解决一下啊? 插入中文就显示问号,数据库里是空白,这是为什么啊,怎么解决呢 解决方案 jdbc:mysql://127.0.0.1:3306/yourdb?useUnicode=true&characterEncoding=UTF8″ 类似这个,修改下编码字符. 解决方案二: 如果用的是mysql就在网上查一下如何修改数据库编码就可以了: 如果回答对您有帮助,请采纳 解决方案三: 这是编码格式问题,转换一下文字编码就行了.比如: 已有字符

向sqlce数据库中插入数据的代码

问题描述 大家好,我是菜鸟,请各位大侠说一下向Sqlce的数据库中插入数据的代码.谢谢-- 解决方案 解决方案二:stringsrtSql="insertintoTableName(数据库字段)Vauels(要插入对应的值)";SqlConnectionconn=newSqlConnection("server=.;database=数据库名称;uid=sa;pwd=;");conn.open();SqlCommandcmd=newSqlCommand(strSql

sql server-C#向SQLServer数据库中插入数据,没有反应

问题描述 C#向SQLServer数据库中插入数据,没有反应 C#向SQLServer数据库中插入数据,没有反应,代码如下: string conn, sql, strxm,strxh,strxb,strlxfs; strxm = textBox1.Text; strxh = textBox2.Text; strxb = textBox3.Text; strlxfs = textBox4.Text; conn = "Server=.;Database=13rj;Trusted_Connectio

java-向mysql数据库中插入数据时报错

问题描述 向mysql数据库中插入数据时报错 public class categorydao { public static void save(category c) throws SQLException{ Connection conn=(Connection) DB.getConnection(); String sql=null; if(c.getId()==-1){ sql="insert into category values(null,?,?,?,?,?)"; }e

Sql 向数据库中插入数据,怎么判断已经存在

问题描述 向数据库中插入一条数据AIR001前三位手动输入后三位自动生成数据库中已经存在AIR001,AIR002,AIR003再插入AIR时自动变成AIR004 解决方案 解决方案二:请看我的博客,原理是一样滴http://www.cnblogs.com/zhang9418hn/archive/2011/12/05/2274796.html解决方案三:你要是保证它不一样,首先生成这个AIRxxx的时候就要考虑:然后写入时,查询当前AIRxxx是不是已经存在解决方案四://验证用户名是否存在if

JSP删除不了数据库中的数据,各位高手帮忙看一下下

问题描述 代码能够执行到最后,但是不能删除数据库中的数据,不知道是哪错了还是别的原因,代码如下,麻烦各位帮忙看一下:<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><%@pageimport="mhb.com.DBConn,java.sql.*"%>

ADO.Net:使用DataReader向数据库中插入数据

ado|插入|数据|数据库 连接数据库coreDB,向表myBBS中插入文章.表myBBS的定义如下:if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[myBBS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[myBBS]GO CREATE TABLE [dbo].[myBBS] ( [ID] [bigint] IDENTIT

如何快速在数据库中插入数据

工作中很少用mysql插入数据,今天正好遇到,学习下: 在toad mysql工具里面,除了像execl表格一样手动插入数据之外,最好用insert语句插入数据,怎么快速生成数据呢? 1. 右击需要插入数据表,这里是cd_financing_income,弹出Generate SQL--->选择TO editor-->Insert statement,以今天需要用到的cd_financing_income为例: 生成 INSERT INTO `51qian`.cd_financing_inco