测试JDBC和SQLServer的插入操作,源码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;

/**
* @author 墨虺
*
*/

public class DBDemoInsert {
public static void main(String[] args) throws Exception{
String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
Class.forName(driver);
/*
String url="jdbc:sqlserver://127.0.0.1:1433;database=ssh";
Connection con=DriverManager.getConnection(url,"sa","fyl360782");
*/
String url="jdbc:sqlserver://127.0.0.1:1433;database=ssh;user=*******;password=******";
Connection con=DriverManager.getConnection(url);

String sql="select * from subscriber";
Statement cmd=con.createStatement();
ResultSet rs=cmd.executeQuery(sql);

System.out.println("账户\t\t"+"密码\t\t"+"昵称\t\t"+"电话\t");
while(rs.next()){
String userid=rs.getString(1);
String pwd=rs.getString(2);
String name=rs.getString(3);
String phone=rs.getString(4);
System.out.println(userid+"\t\t"+pwd+"\t\t"+name+"\t\t"+phone);
}

String insertsql="insert into users(userid,pwd,name,phone) values(?,?,?,?)";
PreparedStatement insertcmd=con.prepareStatement(insertsql);

System.out.println("按照如右格式输入数据,空格分隔,回车确认:"+"\t账户\t"+"密码\t"+"昵称\t"+"电话:");
Scanner reader=new Scanner(System.in);
System.out.println(reader.next()+"\t"+reader.next()+"\t"+reader.next()+"\t"+reader.next());

insertcmd.setString(1,"raisann");
insertcmd.setString(2,"asd");
insertcmd.setString(3,"らいさん");
insertcmd.setString(4,"6698258");

insertcmd.executeUpdate();
/*
insertcmd.setString(1,reader.next());
insertcmd.setString(2,reader.next());
insertcmd.setString(3,reader.next());
insertcmd.setString(4,reader.next());

insertcmd.executeUpdate();
*/
reader.close();
con.close();
}
}

进行数据库Insert操作发生如下错误:

必应搜索后找到如下解决方案:

Thanks Mr. Normand for your continued efford to solve my problem. I have found the error..

In fact what mistake I was doing that I was searching for the class as usual in com.microsoft.sqlserver.jdbc . However in the error (that I attached) first line said 'java.lang.NoClassDefFoundError: microsoft/sql/DateTimeOffset'. It means It was trying to find the class in microsoft/sql directory. After creating the directory in my Classpath it worked.

There are only two classes under microsoft/sql viz. Types and DateTimeOffset. The reason best known to Microsoft only.
Now it is working. This may be helpful to others too. Further it works with SQLServer 2005 successfully.

Thanks..

Kundu

原文截图如下:

JavaEE学习笔记---数据库操作篇的更多相关文章

  1. ThinkPHP5.1学习笔记 数据库操作

    数据库 参见<Thinkphp5.1完全开发手册>学习 Mirror王宇阳 数据库连接 ThinkPHP采用内置抽象层对数据库操作进行封装处理:且基于PDO模式,可以适配各种数据库. 数据 ...

  2. MongoDB学习笔记——数据库操作

    使用use数据库名称来创建数据库,如果该数据库已经存在则返回这个数据库 语句格式:use DATABASE_NAME >use mynewdb switched to db mynewdb 使用 ...

  3. mysql学习笔记--数据库操作

    一.显示数据库 show databases; 二.创建数据库 create database [if not exists] 数据库名 [字符编码] 注意: a. 如果已经存在数据库再创建会报错 b ...

  4. Redis学习笔记-数据操作篇(Centos7)

    一.基本操作 1.插入数据 127.0.0.1:6379> set name cos1eqlg0 OK 这样就在redis中设置了一个key-value键值对 2.查询数据 127.0.0.1: ...

  5. Spring源码学习笔记12——总结篇,IOC,Bean的生命周期,三大扩展点

    Spring源码学习笔记12--总结篇,IOC,Bean的生命周期,三大扩展点 参考了Spring 官网文档 https://docs.spring.io/spring-framework/docs/ ...

  6. JVM学习笔记——垃圾回收篇

    JVM学习笔记--垃圾回收篇 在本系列内容中我们会对JVM做一个系统的学习,本片将会介绍JVM的垃圾回收部分 我们会分为以下几部分进行介绍: 判断垃圾回收对象 垃圾回收算法 分代垃圾回收 垃圾回收器 ...

  7. Noah的学习笔记之Python篇:命令行解析

    Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) ...

  8. PHP学习笔记之数组篇

    摘要:其实PHP中的数组和JavaScript中的数组很相似,就是一系列键值对的集合.... 转载请注明来源:PHP学习笔记之数组篇   一.如何定义数组:在PHP中创建数组主要有两种方式,下面就让我 ...

  9. c++学习笔记之封装篇(上)

    title: c++学习笔记之封装篇(上) date: 2017-03-12 18:59:01 tags: [c++,c,封装,类] categories: [学习,程序员,c/c++] --- 一. ...

随机推荐

  1. [转]看看国外的javascript题目,你能全部做对吗?

    叶小钗 的博客最近都在讨论面试题目 正好以前也看过一篇,就借花献佛拿出来分享一下 http://perfectionkills.com/javascript-quiz/ 附带了自己的理解,答案有争议的 ...

  2. JS实时监听浏览器宽度的变化

    boot:function(){ //加载页面时执行一次 changeMargin(); //监听浏览器宽度的改变 window.onresize = function(){ changeMargin ...

  3. vecor预分配内存溢出2

    vector预分配内存溢出导致原始的 迭代器 失效 consider what happens when you add the one additional object that causes t ...

  4. CentOS6.5 yum安装桌面环境

    安装原因 安装centos6.5时选择了minimal CentOS最小化安装方式 需要使用浏览器拨号连接内网 安装过程 通过yum grouplist查询在 group 软件包中,Desktop.D ...

  5. [Linux]Vim的安装及使用

    1.安装:$sudo apt-get install vim 2.查看Vim所在路径$whereis vim 3.启动Vim $'/usr/bin/vim.tiny'  4. 退出Vim窗口:Ctrl ...

  6. 【python】【转】python中isinstance判断变量类型用法

    来源 http://www.jb51.net/article/15696.htm 在Python中只需要使用内置的函数isinstance,使用起来非常简单,比如下面的例子: 复制代码 代码如下: c ...

  7. PAT (Basic Level) 1002. 写出这个数 (20)

    读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每 ...

  8. imacros实现Excel数据自动录入到网页中

    一.工具选择 最近接到一个项目,需要将excel数据逐条录入.保存到网页中.经过搜集资料,能实现功能的大概有以下几种方式,按键精灵.autoit.imacros.python+selenium. 按键 ...

  9. CSS font-family的順序

    2016年09月07日 13時51分 wanglinqiang整理 相信大家都知道基本的用法是這樣: font-family:font1,font2,serif; 系統有font1就先用font1 如 ...

  10. nodejs 机制

    http://news.cnblogs.com/n/190903/ http://www.ruanyifeng.com/blog/2013/10/event_loop.html https://www ...