第一种办法:先选中出错的数据库→选中以后右键点击属性会d出数据库属性
对话框→选中数据库属性对话框中的选项→把选项中的排序规则设置成:Chinese_PRC_90_CI_AS→最后点击确定即可。
(注意:在选择数据库属性的时候必须确保你所修改的数据库未被使用才可以修改否则会失败的)
第二种办法:首先打开你的sql查询分析器(新建查询),然后输入以下代码执行即
可:ALTER
DATABASE
数据库名
COLLATE
Chinese_PRC_90_CI_AS
例如:
ALTER
DATABASE
9NPC
COLLATE
Chinese_PRC_CI_AI
ALTER
DATABASE
AutoUpgrade
COLLATE
Chinese_PRC_CI_AI
解析原因:出现以上情况主要是因为数据库属性的排序规则设置不正确,在Microsoft
SQL
Server
2005
中,字符串的物理存储由排序规则控制。排序规则指定表示每个字符的位模式以及存储和比较字符所使用的规则。
排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。
如:
Chinese_PRC_90_CI_AS
前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。
排序规则的后半部份即后缀
含义:
_BIN
二进制排序
_CI(CS)
是否区分大小写,CI不区分,CS区分
_AI(AS)
是否区分重音,AI不区分,AS区分
_KI(KS)
是否区分假名类型&defKI不区分,KS区分
_WI(WS)
是否区分宽度
WI不区分,WS区分
区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。
区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,比较还将重音不同的字母视为不等。
区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。
区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项。
提示“已借书本数”列名无效,都告诉你了啊。
比如 Book(id,书名)
update book set BookName = '数据库基础教程' where id = 10001
就会提示 “BookName”无效列名。
不要使用中文作为字段,会出现全角/半角之分,与你的数据库字符集设置也有关系。
1、最简单的replace(replace(replace('1,2,3', '1', '蓝球'),2,'足球'),3,'排球')
2、如果编号不定,那自己写个函数将'1,2,3,4'作为参数,返回翻译后的串
3、到页面处理,分解串,然后对照翻译
String sql ="insert into userinfo(name,pwd) values(,)";
PreparedStatement pst=getConnection()prepareStatement(sql);
pstsetString(1,"小明");
pstsetString(2,"123");
pstexecuteUpdate();
小伙子给你写了一个通用的增删改查的工具类,你那样写太麻烦
资源文件jdbcproperties
jdbcDriver=commysqljdbcDriver
jdbcurl=jdbc:mysql://localhost:3306/xxx
jdbcusername=root
jdbcpassword=root
package comdao;import javasqlConnection;
import javasqlDriverManager;
import javasqlPreparedStatement;
import javasqlResultSet;
import javasqlResultSetMetaData;
import javasqlSQLException;
import javautilArrayList;
import javautilList;
import javautilProperties;
import orgapachecommonsbeanutilsBeanUtils;
import orgapachelog4jLogger;
public class BaseDao {
private static String DRIVDR;
private static String URL;
private static String USER;
private static String PWD;
private static Connection connection;
private static Properties properties = new Properties();
private static Logger logger = LoggergetLogger(BaseDaoclass);
private static PreparedStatement pst;
private static ResultSet rs;
private static final String CLASS_NOT_EXCEPTION = "驱动加载失败";
static {
try {
propertiesload(BaseDaoclassgetResourceAsStream("/jdbcproperties"));
DRIVDR = propertiesgetProperty("jdbcDriver");
URL = propertiesgetProperty("jdbcurl");
USER = propertiesgetProperty("jdbcusername");
PWD = propertiesgetProperty("jdbcpassword");
ClassforName(DRIVDR);
} catch (Exception e) {
loggerdebug(CLASS_NOT_EXCEPTION + egetMessage());
}
}
/
通用的增删改
@param sql
@param args
@return
/
public static int executeCommand(String sql, Object args) {
int m = 0;
try {
initPreparedStatement(sql, args);
m = pstexecuteUpdate();
} catch (Exception e) {
loggerdebug("执行增、删、该。错误。。请检查preparedStatement参数。。。"+egetMessage());
} finally {
closeAll(null, pst, connection);
}
return m;
}
private static PreparedStatement initPreparedStatement(String sql,Objectargs){
try {
pst=getConnection()prepareStatement(sql);
if(args!=null){
for(int i=0;i<argslength;i++){
pstsetObject(i+1, args[i]);
}
}
} catch (Exception e) {
loggerdebug("为pst对象赋值错误。。请检查preparedStatement参数。。。"+egetMessage());
}
return pst;
}
/
通用的执行聚合函数
@param sql
@param args
@return
/
public static int executeScalare(String sql,Objectargs){
int count=0;
initPreparedStatement(sql, args);
try {
rs=pstexecuteQuery();
if(rsnext()){
count=rsgetInt(1);
}
} catch (SQLException e) {
loggerdebug("执行聚合函数出错。。。请检查preparedStatement参数。。。"+egetMessage());
}finally{
closeAll(rs, pst, connection);
}
return count;
}
/
根据id查询单个对象
@param sql
@param clazz
@param args
@return
/
public static <T> T findById(String sql,Class<T> clazz,Objectargs){
T t = null;
try {
initPreparedStatement(sql, args);
rs = pstexecuteQuery();
ResultSetMetaData metaData = rsgetMetaData();
// 以上的代码:获取元数据(各个字段的数据类型)
int count = metaDatagetColumnCount();
// 获取字段的数量
if(rsnext()) {
try {
t = clazznewInstance();// 利用反射自动创建对象的类型的对象 Userclass User
// u=new User();
for (int i = 1; i <= count; i++) {
BeanUtilscopyProperty(t, metaDatagetColumnName(i), rsgetObject(i));
// 自动获取各个字段的名称并获取该字段的值
}
} catch (Exception e) {
loggerdebug("查询单个对象,错误。。请检查preparedStatement参数。。。。"+egetMessage());
}
}
} catch (SQLException e) {
loggerdebug("查询失败。。。。。" + egetMessage());
}
return t;
}
/
通用的查询
@param sql
@param clazz
@param args
@return
/
public static <T> List<T> findAll(String sql, Class<T> clazz, Object args) {
List<T> list = new ArrayList<T>(100);
T t = null;
try {
initPreparedStatement(sql, args);
rs = pstexecuteQuery();
ResultSetMetaData metaData = rsgetMetaData();
// 以上的代码:获取元数据(各个字段的数据类型)
int count = metaDatagetColumnCount();
// 获取字段的数量
while (rsnext()) {
try {
t = clazznewInstance();// 利用反射自动创建对象的类型的对象 Userclass User
// u=new User();
for (int i = 1; i <= count; i++) {
BeanUtilscopyProperty(t, metaDatagetColumnName(i), rsgetObject(i));
// 自动获取各个字段的名称并获取该字段的值
}
} catch (Exception e) {
loggerdebug("查询集合,错误。。。。。"+egetMessage());
}
listadd(t);// 将对象添加到集合中
}
} catch (SQLException e) {
loggerdebug("查询失败。。。。。" + egetMessage());
}
return list;
}
public static Connection getConnection() {
try {
if (connection == null || connectionisClosed()) {
connection = DriverManagergetConnection(URL, USER, PWD);
}
} catch (SQLException e) {
loggerdebug("获取connection失败,请检查配置文件!" + egetMessage());
}
return connection;
}
public static void closeAll(ResultSet rs, PreparedStatement pst, Connection conn) {
if (rs != null)
try {
rsclose();
} catch (SQLException e) {
loggerdebug("关闭ResultSet错误。。。。。" + egetMessage());
}
if (pst != null)
try {
pstclose();
} catch (SQLException e) {
loggerdebug("关闭PreparedStatement错误。。。。。" + egetMessage());
}
if (conn != null)
closeConnection(conn);
}
private static void closeConnection(Connection conn) {
try {
if (!connisClosed()) {
connclose();
}
} catch (SQLException e) {
loggerdebug("关闭Connection错误。。。。。" + egetMessage());
} finally {
conn = null;
}
}
public static void main(String[] args) {
Systemoutprintln(BaseDaogetConnection());
}
}
以上就是关于向sql server2005中插入中文数据,显示为全部的内容,包括:向sql server2005中插入中文数据,显示为、SQL语句中关于中文属性列名的update语句。、java oracle数据库一个字段保存数据为“1,2,3,4",如何将它取出来放到页面上是与其对应的中文等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)