MSHService
چهارشنبه 01 بهمن 1393, 17:37 عصر
با درود و ادب
دوستان می خوام از
ParameterMetaData pmd = stmt.getParameterMetaData();
شبه کد زیر استفاده کنم
Connection con = db.getConnection(); PreparedStatement stmt = null;
stmt = con.prepareStatement("INSERT INTO "
+"customerType(farName,code, engName,description,version) "
+"VALUES(?,?,?,?,?)");
ParameterMetaData pmd = stmt.getParameterMetaData();
متد زیر درست جواب میده ولی وقتی این دستور رو می نویسم خطا میده.
public long insertRecord3(CustomerType ct) {//ok long key = -1L;
if (ct != null) {
String query = "INSERT INTO " + tableName + "("
+ "code ,"//1
+ "farName,"//2
+ "engName,"//3
+ "description,"//4
+ "version"//5
+ ")"
+ "values"
+ "(?, ?, ?, ?, ?)"; //5
try (Connection con = db.getConnection();
PreparedStatement statement = con.prepareStatement(query,
Statement.RETURN_GENERATED_KEYS);) {
statement.setInt(1, ct.getCode()); // set input parameter 1
statement.setString(2, ct.getFarName()); // set input parameter 2
statement.setString(3, ct.getEngName());
statement.setString(4, ct.getDescription());
statement.setInt(5, ct.getVersion());
int affectedRows = statement.executeUpdate();
if (affectedRows == 0) {
throw new SQLException("Creating user failed, no rows affected.");
}
try (ResultSet generatedKeys = statement.getGeneratedKeys()) {
if (generatedKeys != null && generatedKeys.next()) {
key = generatedKeys.getLong(1);
} else {
throw new SQLException("Creating user failed, no ID obtained.");
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
db.closeConnection();
}
} else {
logError("insertRecord-> " + "CustomerType نباید نال باشد");
}
return key;
}
پیام خطای خطای SQLException: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near the keyword 'WHERE'. رو میده.
این در حالیه که بدون این دستور جواب میده.
من نیاز به استفاده از این دارم.
متشکرم.
دوستان می خوام از
ParameterMetaData pmd = stmt.getParameterMetaData();
شبه کد زیر استفاده کنم
Connection con = db.getConnection(); PreparedStatement stmt = null;
stmt = con.prepareStatement("INSERT INTO "
+"customerType(farName,code, engName,description,version) "
+"VALUES(?,?,?,?,?)");
ParameterMetaData pmd = stmt.getParameterMetaData();
متد زیر درست جواب میده ولی وقتی این دستور رو می نویسم خطا میده.
public long insertRecord3(CustomerType ct) {//ok long key = -1L;
if (ct != null) {
String query = "INSERT INTO " + tableName + "("
+ "code ,"//1
+ "farName,"//2
+ "engName,"//3
+ "description,"//4
+ "version"//5
+ ")"
+ "values"
+ "(?, ?, ?, ?, ?)"; //5
try (Connection con = db.getConnection();
PreparedStatement statement = con.prepareStatement(query,
Statement.RETURN_GENERATED_KEYS);) {
statement.setInt(1, ct.getCode()); // set input parameter 1
statement.setString(2, ct.getFarName()); // set input parameter 2
statement.setString(3, ct.getEngName());
statement.setString(4, ct.getDescription());
statement.setInt(5, ct.getVersion());
int affectedRows = statement.executeUpdate();
if (affectedRows == 0) {
throw new SQLException("Creating user failed, no rows affected.");
}
try (ResultSet generatedKeys = statement.getGeneratedKeys()) {
if (generatedKeys != null && generatedKeys.next()) {
key = generatedKeys.getLong(1);
} else {
throw new SQLException("Creating user failed, no ID obtained.");
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
db.closeConnection();
}
} else {
logError("insertRecord-> " + "CustomerType نباید نال باشد");
}
return key;
}
پیام خطای خطای SQLException: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near the keyword 'WHERE'. رو میده.
این در حالیه که بدون این دستور جواب میده.
من نیاز به استفاده از این دارم.
متشکرم.