import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class InitReportData {
/**
* @param args
*/
public static void main(String[] args) throws SQLException{
// TODO Auto-generated method stub
Connection conn = null;
Statement stmt = null;
String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String connectDB="jdbc:sqlserver://localhost:1433;DatabaseName=osi_prod";
String user="sa";
String pwd="123456";
try {
// 动态导入数据库的驱动
Class.forName(JDriver);
// 获取数据库链接
conn = DriverManager.getConnection(connectDB,user,pwd);
String[] series={"中文"};
String[] category={"中文1","中文2",""};
String[][] value={
{"中文3","99.99%",""}
};
String tableName="osi_report_DailyProduction";
String type="crosstabDataRight5";
int seriesLen=series.length;
int categoryLen=category.length;
String sql="";
for(int i=0;i
for(int j=0;j
if(value[i][j]!=null){
// 创造SQL语句
sql = "INSERT INTO "+tableName+" (type,series,category,value) VALUES (N'"+type+"',N'"+series[i]+"',N'"+category[j]+"', N'"+value[i][j]+"')";
// 执行SQL语句
stmt = conn.createStatement();
stmt.executeUpdate(sql);
System.out.println("插入数据成功");
}
}
}
} catch (Exception e) {
e.printStackTrace();
stmt.close();
conn.close();
}
}
}
在字段值前加个N就可以解决乱码了,就这么简单
sql server有两个转义符:
' 默认情况下, '是字符串的边界符, 如果在字符串中包含', 则必须使用两个', 第1个'就是转义符
另一个转义符是"
当SET QUOTED_IDENTIFIER OFF时, "是字符串边界符, 字符串中的"必须用两个"表示