我在arch linux上运行monodevelop,我尝试将一些值插入到本地数据库中,但是当我从一个按钮运行它时,应用程序关闭。文件已创建,它包含所有字段。 这是我的代码:
SqliteConnection m_dbConnection = new SqliteConnection ("Data Source=GOOD_FOOD.sqlite;Version=3;");
m_dbConnection.Open ();
int id;
string get = "SELECT LAST(id_client) FROM Clienti";
SqliteCommand comSelect = new SqliteCommand (get, m_dbConnection);
int? getid = (int?)comSelect.ExecuteScalar();
if (getid.HasValue) {
id = Convert.ToInt32(getid) + 1;
} else
{
id = 1;
}
// create account
string create = "INSERT INTO Clienti (id_client, parola, nume, prenume, adresa, email) VALUES (@id, @parola, @nume, @prenume, @adresa, @email)";
SqliteCommand createcmd = new SqliteCommand (create, m_dbConnection);
createcmd.Parameters.AddWithValue("@id", id);
createcmd.Parameters.AddWithValue ("@parola", password.Text);
createcmd.Parameters.AddWithValue("@nume", name.Text);
createcmd.Parameters.AddWithValue ("@prenume", secondname.Text);
createcmd.Parameters.AddWithValue("@adresa", address.Text);
createcmd.Parameters.AddWithValue ("@email", email.Text);
createcmd.ExecuteNonQuery ();
m_dbConnection.Close ();
答案 0 :(得分:0)
洗液: 使用try {} catch {}并更改id = Convert.ToInt32(getid)+ 1;到id = getid.Value +1; 改变" SELECT LAST(id_client)来自Clienti&#34 ;; to" SELECT id_client FROM Clienti ORDER BY id_client DESC;";