0
自分のデータを自分のデータベースに挿入しようとしていますが、手動で値を入力しようとしましたが、エラーが発生し続けます。私はデバッグし、私の価値を発見することはnullではありませんが、エラーSQL PreparedStatement Android
Cannot insert the value NULL into column 'AssignedGameID', table 'dementiafypdb.dbo.gameRecord'; column does not allow nulls. INSERT fails.
は、これは私のデータベース接続です:
public GameManager(String pID, String gID, int sNo){
patientID=pID;
gameID = gID;
sqlNo = sNo;
}
public GameManager(String pID, String gID, int sNo, int s, int t){
patientID=pID;
gameID = gID;
sqlNo = sNo;
score = s;
time = t;
}
//This method is called to run Game Manager
public void GameMgrStart(){
Connection conn=null;
String sqlStatement;
try {
conn = dbConnect();
sqlStatement = sqlStats();
//Run statement
PreparedStatement cmdSql = conn.prepareStatement(sqlStatement);
cmdSql.execute();
System.out.println("" + sqlStatement);
}
catch (Exception e) {
e.printStackTrace();
}
}
//List of SQL Statements
public String sqlStats(){
String sqlStatement= "";
if(sqlNo == 1){
sqlStatement = "INSERT INTO GameRecord(Score, timeTaken, AssignedGameID) Values('" + score + "', '" + time + "', (SELECT top 1 assignedGameID FROM assignedGame WHERE gameID='" + gameID + "' and patientAllocationID=(SELECT patientAllocationID FROM patientAllocation WHERE patientID='" + patientID + "')))";
}
return sqlStatement;
}
//Method to connect to database
public Connection dbConnect(){
Connection conn = null;
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
//conn = DriverManager.getConnection(dbURL+dbName+dbSecurity);
conn = DriverManager.getConnection(dbURL+dbName+dbUsername+dbPassword);
if (conn != null) {
System.out.println("Connected");
return conn;
}
else
System.out.println("Failed");
}
catch (Exception e) {
e.printStackTrace();
}
return conn;
}
これは
プライベートクラスAsyncCallerが延びてデータベースにアクセスするための私のコードですAsyncTask {
@Override
protected Void doInBackground(Void... params) {
String patientID ="1", gameID ="1";
int sID = 1, score = 10, time = 30;
GameManager gameManager = new GameManager(patientID,gameID,sID,score,time);
gameManager.GameMgrStart();
return null;
}
}
どこが間違っているのか分かりますか?
うん、それは動作します!しかし、最後には小さな構文エラーがありますが、1つの括弧しかありません:) –