我试图将记录添加到表中,但出现了此语法错误。
这是我的密码。代码图像:https://i.stack.imgur.com/un0jW.png
public void CreateDatabase(string sqldb_name)
{
try
{
sqldb_message = "";
string sqldb_location = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
string sqldb_path = Path.Combine(sqldb_location, sqldb_name);
bool sqldb_exists = File.Exists(sqldb_path);
if (!sqldb_exists)
{
sqldb = SQLiteDatabase.OpenOrCreateDatabase(sqldb_path, null);
sqldb_query = "CREATE TABLE IF NOT EXISTS MyTable (_PhoneNumber INTEGER PRIMARY KEY AUTOINCREMENT, Name VARCHAR, Password VARCHAR, DateOfBirth VARCHAR);";
sqldb.ExecSQL(sqldb_query);
sqldb_message = "Database: " + sqldb_name + " created";
}
else
{
sqldb = SQLiteDatabase.OpenDatabase(sqldb_path, null, DatabaseOpenFlags.OpenReadwrite);
sqldb_message = "Database: " + sqldb_name + " opened";
}
sqldb_available = true;
}
catch (SQLiteException ex)
{
sqldb_message = ex.Message;
}
}
//Adds a new record with the given parameters
public void AddRecord(string PhoneNumber, string Pwd, string Name, string DOB)
{
try
{
sqldb_query = "INSERT INTO MyTable (PhoneNumber, Password, Name, Date Of Birth) VALUES ('" + PhoneNumber + "','" + Pwd + "'," + Name + "," + DOB + ");";
sqldb.ExecSQL(sqldb_query);
sqldb_message = "Record saved";
}
catch (SQLiteException ex)
{
sqldb_message = ex.Message;
}
}
您的列名与insert中指定的列名不太一样。用途:
INSERT INTO MyTable (_PhoneNumber, Password, Name, DateOfBirth) VALUES ...
同时使用参数