天天看點

sql資料庫varchar和nvarchar坑

問題描述:将部分符号,例如: 詳細摘要或全文−侯春曰-20150531094315438,裡的 - 存進varchar字段時,會因為識别不了變成?.

是以,為了相容更多的字元,不确定資料來源的情況下還是用nvarchar比較保險.

編輯時要加 insert into a(NAME) values (N'呵呵');

StringBuffer sql = new StringBuffer();
		sql.append(" insert into files(id,md5key,filename,filepath,created_time,status,"
				+ "filetype,url,download_time,pdf_path,swf_path,pdf_finish_time,swf_finish_time,error_remark,ext_attr,filesize,total_pages) "
				+ "values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ");

		// 産生唯一辨別,uuid并去除‘-’号
		String id = UUID.randomUUID().toString().replace("-", "");
		PooledConnection conn = null;
		PreparedStatement statement = null;
		ResultSet resultSet = null;
		PreparedStatement preStatement = null;
		try {
			conn = DBManager.getConnection();
			statement = conn.prepareStatement(sql.toString());
			statement.setString(1, id);
			statement.setString(2, filePreview.getMd5Key());
			statement.setNString(3, filePreview.getFilename());
			<strong><span style="background-color: rgb(255, 204, 102);">statement.setNString(4, filePreview.getFilepath());</span></strong>
			statement.setTimestamp(5, new Timestamp(filePreview.getCreateTime()
					.getTime()));
			statement.setString(6, filePreview.getStatus());
			statement.setString(7, filePreview.getFiletype());
			statement.setNString(8, filePreview.getUrl());
           

繼續閱讀