java- 将截断字符串或二进制数据问题,Java,sql

问题描述

将截断字符串或二进制数据问题,Java,sql

我开的长度足够大了,可是还是报错

 ![图片说明](http://img.ask.csdn.net/upload/201602/17/1455723342_499331.png)

public void actionPerformed(ActionEvent e) {
if(e.getSource()==jb1){
Connection ct=null;
Statement stm=null;
PreparedStatement ps=null;
ResultSet rs=null;
//Statement stmt=null;
try {
//加载驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

            //创建连接对象
            String url="jdbc:sqlserver://localhost:1433;databaseName=master";
            //注册驱动程序,打开连接
            ct=DriverManager.getConnection(url,"sa","ksj123456.");
            //预编译语句对象
            String  sql="insert into stu values(?,?,?,?,?,?)";
             ps=ct.prepareStatement(sql);
        //参数赋值
        ps.setString(1, jtf1.getText());
        ps.setString(2, jtf1.getText());
        ps.setString(3, jtf1.getText());
        ps.setString(4, jtf1.getText());
        ps.setString(5, jtf1.getText());
        ps.setString(6, jtf6.getText());
        //执行操作
        ps.executeUpdate();
        this.dispose();

解决方案

检查你的数据库的表怎么定义的,比如学号列的长度如果是2个字符(nvarchar(2)),而你试图插入005,就会报错,别的同理。

ps.setString(2, jtf1.getText());
ps.setString(3, jtf1.getText());
ps.setString(4, jtf1.getText());
ps.setString(5, jtf1.getText());
你确认这些都是jtf1么,我觉得应该是jtf2~5吧

解决方案二:

字段的数据类型设置的不对,应该用image类型

解决方案三:

解决方案四:

直接模拟一条可能出错的数据插入试试(SQL执行),看看是否出错,出错的话就是SQL问题,直接找SQL问题

解决方案五:

初步鉴定是连接数据库的原因,,先单独测下jdbc是否连接成功,,可能是驱动包或数据库安装的问题

解决方案六:

首先断点下看看能不能执行到ps.executeUpdate();这一步,如果执行到这一步报too long,mysql数据库就把varchar改成text格式,这样就不用管它的长度,别的数据库应该也有类似的功能,到网上找下。

时间: 2024-12-23 03:21:16

java- 将截断字符串或二进制数据问题,Java,sql的相关文章

MSSQL 将截断字符串或二进制数据问题的解决方法_MsSql

地图数据存放在sqlserver 2008中,使用mapxtreme7 开发时,使用Feature.Update()方法时出错的提示包含"MSSQL 将截断字符串或二进制数据" 主要原因就是给某个字段赋值时,内容大于字段的长度或类型不符造成的 解决方法: 一个是修改数据库字段大小: 再一就是是加强数据强壮性,严格的输入判断. 防止添加的信息类型或者长度与数据库表中字段所对应的类型不符合.

Win7 x64 下报 “。。。将截断字符串或二进制数据”错误。而其他版本不出错

问题描述 原先在.NET2.0下开发的程序,今天在一台WIN764位的机器上运行,用户登录时出现"...将截断字符串或二进制数据"错误.第一次出现,此前在其他机器上都没有出现,包括我自己的WIN764位机器,出问题的机器上装的是.NET4.5版本,不让安装.NET2.0.,难道是和.NET的中文版本有问题?请高手指点 解决方案 解决方案二:保存到数据库的数据超出字段定义的长度解决方案三:数据库字段太短了.解决方案四:关于数据库字段太短的是可能的,一般提示就是这个.但是我的程序是在其他机

MSSQL 将截断字符串或二进制数据问题的解决方法

地图数据存放在sqlserver 2008中,使用mapxtreme7 开发时,使用Feature.Update()方法时出错的提示包含"MSSQL 将截断字符串或二进制数据" 主要原因就是给某个字段赋值时,内容大于字段的长度或类型不符造成的 解决方法: 一个是修改数据库字段大小: 再一就是是加强数据强壮性,严格的输入判断. 防止添加的信息类型或者长度与数据库表中字段所对应的类型不符合.

编辑gridview时,将截断字符串或二进制数据。 语句已终止。

问题描述 编辑gridview时,将截断字符串或二进制数据.语句已终止. 解决方案 解决方案二:这是编辑的语句解决方案三:求帮忙啊啊啊啊啊解决方案四:depname这个列接收的值不正确.((DropDownList)GridView1.Rows[e.RowIndex].FindControl("DDLXueli")).Text解决方案五:那个DROPDOWNLIST后面.然后识别没有TEXT的解决方案六:引用3楼guwei4037的回复: depname这个列接收的值不正确.((Dro

java跨平台、对话框、二进制数据打印

java跨平台 public class JavaTest{ public static void main(String[] args){ System.out.println("java Test for windows/linux"); } } windows,linux平台下面, 使用javac JavaTest.java; java JavaTest命令进行测试,顺利通过. 编译中间产生的JavaTest.class 可以放到不同的jvm虚拟机中进行解释执行. 对话框 Swi

student-出现截断字符串怎么办???急急急……

问题描述 出现截断字符串怎么办???急急急-- use student goinsert into student(snosname ssex sage sdept)values('200515001''赵菁菁''女'23'CS')('200515002''李咏''男'20'CS')('200515003''张力''男'19 'CS')('200515004''张衡''男'18'IS')('200515005''张向东''男'20'IS')('200515006''张向丽''女'20'IS')(

Node.js中使用Buffer编码、解码二进制数据详解_node.js

JavaScript很擅长处理字符串,但是因为它最初的设计是用来处理HTML文档,因此它并不太擅长处理二进制数据.JavaScript没有byte类型,没有结构化的类型(structured types),甚至没有字节数组,只有数字和字符串.(原文:JavaScript doesn't have a byte type - it just has numbers - or structured types, or http://skylitecellars.com/ even byte arra

java-bsgrid 如何局部刷新列表?获取Java返回的json格式的数据?

问题描述 bsgrid 如何局部刷新列表?获取Java返回的json格式的数据? java端SpringMVC 框架调用的方法如下: @ResponseBody @RequestMapping("/ajaxPage") public String ajaxPage(HttpServletRequest request){ String pageSize = request.getParameter("pageSize"); System.out.print(page

swing-请教:Java Swing分割字符串的问题

问题描述 请教:Java Swing分割字符串的问题 我用Java Swing写了一个小程序,这是片段: 希望达到的效果是:输入字符串"a b c",点击按钮以后输出"ad bd cd",也就是中间有空格.但实际上输出的是"adbdcd",没有空格. 我想向大家请教:要怎样修改,才可以输出有空格的新字符串呢?谢谢大家. 解决方案 String s3 = s2[i] + "d ",在d后面加一个空格 解决方案二: 把字符串使用数