JavaEE学习笔记---数据库操作篇
测试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学习笔记---数据库操作篇的更多相关文章
- ThinkPHP5.1学习笔记 数据库操作
数据库 参见<Thinkphp5.1完全开发手册>学习 Mirror王宇阳 数据库连接 ThinkPHP采用内置抽象层对数据库操作进行封装处理:且基于PDO模式,可以适配各种数据库. 数据 ...
- MongoDB学习笔记——数据库操作
使用use数据库名称来创建数据库,如果该数据库已经存在则返回这个数据库 语句格式:use DATABASE_NAME >use mynewdb switched to db mynewdb 使用 ...
- mysql学习笔记--数据库操作
一.显示数据库 show databases; 二.创建数据库 create database [if not exists] 数据库名 [字符编码] 注意: a. 如果已经存在数据库再创建会报错 b ...
- Redis学习笔记-数据操作篇(Centos7)
一.基本操作 1.插入数据 127.0.0.1:6379> set name cos1eqlg0 OK 这样就在redis中设置了一个key-value键值对 2.查询数据 127.0.0.1: ...
- Spring源码学习笔记12——总结篇,IOC,Bean的生命周期,三大扩展点
Spring源码学习笔记12--总结篇,IOC,Bean的生命周期,三大扩展点 参考了Spring 官网文档 https://docs.spring.io/spring-framework/docs/ ...
- JVM学习笔记——垃圾回收篇
JVM学习笔记--垃圾回收篇 在本系列内容中我们会对JVM做一个系统的学习,本片将会介绍JVM的垃圾回收部分 我们会分为以下几部分进行介绍: 判断垃圾回收对象 垃圾回收算法 分代垃圾回收 垃圾回收器 ...
- Noah的学习笔记之Python篇:命令行解析
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) ...
- PHP学习笔记之数组篇
摘要:其实PHP中的数组和JavaScript中的数组很相似,就是一系列键值对的集合.... 转载请注明来源:PHP学习笔记之数组篇 一.如何定义数组:在PHP中创建数组主要有两种方式,下面就让我 ...
- c++学习笔记之封装篇(上)
title: c++学习笔记之封装篇(上) date: 2017-03-12 18:59:01 tags: [c++,c,封装,类] categories: [学习,程序员,c/c++] --- 一. ...
随机推荐
- 学会怎样使用Jsp 内置标签、jstl标签库及自定义标签
学习jsp不得不学习jsp标签,一般来说,对于一个jsp开发者,可以理解为jsp页面中出现的java代码越少,对jsp的掌握就越好,而替换掉java代码的重要方式就是使用jsp标签. jsp标签的分 ...
- 利用maven的resources、filter和profile实现不同环境使用不同配置文件
基本概念说明(resources.filter和profile): 1.profiles定义了各个环境的变量id 2.filters中定义了变量配置文件的地址,其中地址中的环境变量就是上面profil ...
- 关于java中for和foreach循环
for循环中的循环条件中的变量只求一次值!具体看最后的图片 foreach语句是java5新增,在遍历数组.集合的时候,foreach拥有不错的性能. foreach是for语句的简化,但是forea ...
- MFC中控件的TAB顺序 ----转载
在MFC中添加控件后,按Ctrl+d可以改变控件TAB顺序,怕自己忘了,一个神奇的东西,记下. 关于改变Tab顺序的方法有以下几种: 方法一:在动态创建控件的时候STYLE设置成为WS_CHILD|W ...
- HTML5储存
1.sessionStorage 特点:关闭浏览器(或标签页)后数据就不存在了.但刷新页面或使用“前进”.“后退按钮”后sessionStorage仍然存在: sessionStorage每个窗口的值 ...
- CentOS6.5 yum安装桌面环境
安装原因 安装centos6.5时选择了minimal CentOS最小化安装方式 需要使用浏览器拨号连接内网 安装过程 通过yum grouplist查询在 group 软件包中,Desktop.D ...
- Day21 Django之Form文件上传、原生Ajax和实现抽屉实例
一.Form文件上传 """ Django settings for prev_chouti project. Generated by 'django-admin st ...
- 从string.size()和string.length()聊到长度的问题和一个关于数据结构定义的技巧
最近工作中要查看一下string的长度,然后忘了是哪个函数,所以去网上搜了一搜,决定把网上学的和其他的一些有关长度的东西在这里汇总一下, 然后就有了此帖. string 是从c语言的char数组的概念 ...
- 2016030101 - ubuntu15.1上安装git客户端
使用ubutun15.1安装git客户端. 根据git官网提示内容(参考http://git-scm.com/download/linux) 1.使用命令:sudo apt-get install g ...
- Ubuntu版本介绍
转自Ubuntu版本介绍 经常有人问起Ubuntu的版本选择问题,论坛中虽有帖子提及,但不是很详细,不集中,我就尝试把Ubuntu上的这点东东翻译一下,供大家参考,水平有限,敬请包涵.指正. Ubu ...