您的位置:首页 > 数据库

Sql Server 2012 语法与my Sql的区别

2016-08-19 20:16 302 查看
String sql = "INSERT INTO [User] (username,password)  values  ('下名','122')";

插入语法和my Sql 是有一定区别的

区别一:表名必须加[] 括号 (有的版本好像不用加也行,都试试把),

区别二:values 是复数 mySql的插入是value 单数

目前就发现这两点区别

另一中插入方式:

Connection conn = JdbcConnection.getConnection();
String sql = "insert into [User](username,password) values(?,?)";

PreparedStatement pst;
try {
pst = conn.prepareStatement(sql);
pst.setString(1, user.getUsername());
pst.setString(2, user.getPassword());
int low = pst.executeUpdate();
if(low>0){
return true;
}
pst.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
JdbcConnection.close(conn);
}
return false;

方式一有时候会莫名报一些异常,错误等:比如下面这句

String sql = "select * from [MYUserInfo] where UserName ="+user.getUsername();

报的异常:

com.microsoft.sqlserver.jdbc.SQLServerException: 转换 varchar 值 '18911873163' 时溢出了整数列。

改为另外一种方查找式就没事:

String sql = "select * from [MYUserInfo]where UserName = ?";
Connection conn  = JdbcConnection.getConnection();;
PreparedStatement ps = null;
ResultSet rs = null;

try {
ps = conn.prepareStatement(sql);
ps.setString(1, user.getUsername());
rs = ps.executeQuery();

    .............略
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: