测试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. 这次是C#中的接口

    接口的出现,是为了解决C#中不允许多重继承的问题. 1.什么是接口? 我觉得可以把接口理解为对一组方法声明进行的统一命名,但这些方法没有提供任何实现. 通过接口,就可以对方法进行统一管理,避免了在每种 ...

  2. 类库探源——System.Delegate

    一.MSDN 描述 Delegate 类:表示委托,委托是一种数据结构,它引用静态方法或引用类实例及该类的实例方法.(是不是感觉很像C语言中的函数指针 :) ) 命名空间: System 程序集:   ...

  3. ios专题 - 单例模式的实现

    [原创]http://www.cnblogs.com/luoguoqiang1985 单例模式是什么? 一个类只有一个实例. ----------------------- 这样做有什么好处? 在我的 ...

  4. win7下装ubuntu

    需要的东西有: 1,ubuntu系统镜像,下载地址:http://www.ubuntu.com/download/desktop 选64位吧,兼容性好些. 2,空闲的大于20G硬盘空间,这个大小根据个 ...

  5. 一台机器,运行两个mysql版本 实例

    一.问题 1.学习mysql时,我先安装了一个mysql5.5.27: 2.然而学习php时,当我安装wampserver2.2时,wampserver2.2又在电脑上安装了mysql5.5.20: ...

  6. python隐含的特性

    本文源自(http://stackoverflow.com/questions/101268/hidden-features-of-python)希望介绍Python非常有用,而比较忽视的Python ...

  7. 站点下的GridView的RowCommand事件的设置,与站点应用不一样

    <ItemTemplate>                                                                    <%--<a ...

  8. cmd 窗口的复制粘贴

    如下几种方法1.点击鼠标右键,选择标志,再点击左键拖动选择要复制的内容,然后回车即可复制被 选择的内容 2.点击鼠标右键,选择标志,再点击左键拖动选择要复制的内容,然后点击鼠标右键, 此时就把选择的内 ...

  9. 控制器view加载

    出自李明杰讲课视频

  10. linux无法umount解决方案

    [root@995120-master ~]# umount /drbd/ umount: /drbd: device is busy.(In some cases useful info about ...