【发布时间】:2017-02-16 04:16:34
【问题描述】:
我在使用 MySQL 的 uniqueidentifier 时遇到问题,当我尝试将数据数组插入到其中一个列中具有 uniqueidentifier 数据类型的表中时,它只是说在将字符串转换为 uniqueidentifier 时转换失败。
这里是 MySQL 块:
if (Gender.trim().equals(""))
z = "Value not enough";
else {
try {
Connection con = connectionClass.CONN();
if (con == null) {
z = "Error in connection with SQL server";
} else {
final String query = "USE [dbtest]" +
"insert into [tablename] ([DepositorID],[Name],[Sex],[DateOfBirth],[Race],[Occupation],[Occupation_others],[AddressLine1],[AddressLine2],[Postcode]," +
"[City],[State],[AgeSah],[TelNo],[HPNo],[Email],[Bank],[BankNo],[CreatedBy],[CreatedOn],[ModifiedBy],[ModifiedOn]) values " +
"('" + nokppv + "','" + Namev + "','" + sex + "','" + Date + "','" + Race + "','" + Occupation + "','" + Occupation2 + "','" + Address + "','" + Address2 +
"','" + Postcode + "','" + City + "','" + State + "','" + agesah + "','" + telno + "','" + Phonev + "','"+ Email +"','"+ Bank +"','"+ BankNo +
"',' "+ chars +"','"+ CreatedOn +"','"+ chars1 +"','" + ModifiedOn + "')";
System.out.println("Query:"+query);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
if (rs.next()){
z = "Registration successful";
isSuccess = true;
}else {
z = "Registration error";
isSuccess = false;
}
}
} catch (Exception ex) {
isSuccess = false;
z = "Exceptions";
System.err.println("Message:"+ex.getMessage());
System.err.println("Cause:"+ex.getCause());
System.out.println("Query:"+query);
}
}
}
return z;
}
我已经尝试过的东西
uniqueidentifier 的列允许为 null 并尝试将其插入为 null,同样的错误。
试过android GUID代码,同样的错误,发现sql server uid是顺序的,与java uid不同。
尝试从 JDBC 库中声明 UniqueIdentifier 变量,同样的错误。
我确实发现了一些提到 UID 生成器的帖子,它会生成与 SQL UID 数据类型兼容的顺序 UID,但帖子的答案非常模糊。 我只需要提示或一些示例来制作我自己的代码我希望我提供足够的数据。有人愿意给我看看绳子吗?顺便说一句,我正在使用 MSSQL 2016 并使用 Android Studio 作为 Java 平台。
【问题讨论】:
-
你应该使用
CONVERT或NEWID -
是
DepositorID是uniqueidentifie并且您尝试传递包含string的nokppv? -
我会尝试使用 CONVERT,但 NEWID 不是来自 C# 吗? java中也有NEWID吗?
-
除 CreatedBy 和 ModifiedBy 之外的所有变量都是 String,只有这两个是 UniqueIdentifier
-
顺便说一句,它的变量chars和chars1,尝试将字符串转换为char,无济于事
标签: java android sql-server