C#SQL命令行monodevelop

时间:2016-12-10 20:13:11

标签: c# sqlite

我在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 ();

1 个答案:

答案 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;";

相关问题