SQLite连接字符串:C#不支持'Version'关键字

时间:2020-07-04 12:06:24

标签: c# .net sqlite exception connection-string

我有一个c#winform项目,该项目想将数据保存到SQLite数据库中,我已经正确使用了dll,并且可以正常运行,但是在使用buttonClick事件触发方法时出现异常

这里是我得到的例外:不支持关键字:'version'。

此连接字符串:

"Data Source = Diary.db;Version = 3;New = False;Compress = True;"; 

这是完整的方法:

private void AddToDbaseSQL3()
    {
        try{
            string query = "insert into Diary(title,date,mood,wheater,content)                                           
            values('"+TitleTextbox.Text+"','"
            +dateTimePicker.Value.Date.ToString("yyyy-MM-dd HH:mm")+"','"
            +MoodCombobox.SelectedItem+"','"
            +WheaterCombobox.SelectedItem+"','"
            +ContentTextbox.Text+"');";;
            SqlConnection connect2 =  new SqlConnection(connection2);
            SqlCommand cmd = new SqlCommand(query,connect2);
            SqlDataReader read;
            connect2.Open();
            read =  cmd.ExecuteReader();
            while(read.Read())
            {
               
            }
           
            MessageBox.Show("created");
            TitleTextbox.Text = "Title";
            TitleTextbox.ForeColor = SystemColors.ControlLight;
            ContentTextbox.Clear();
            connect2.Close();
           
        }catch(Exception e){
            MessageBox.Show(e.Message);
        }
    }

我查看了以下链接: Keyword not supported: 'version'

,它说将SqlConnection更改为SQLiteConnection,但是它以错误结尾,您能否确定正确的连接字符串是什么?还是我的代码/方法有问题?请告诉我,谢谢,很抱歉,因为这是我第一次使用SQLite

1 个答案:

答案 0 :(得分:0)

System.Data.SqlClient中的SqlConnection用于SQL Server。

您需要专用的SQLite ADO.NET提供程序。

您可以在此处找到SQLite团队的System.Data.SQLite提供程序:

https://system.data.sqlite.org

或者您可以使用任何自由提供者或商业提供者。

除了使用OdbcConnection,OdbcCommand等之外,您还可以使用免费且开源的SQLite ODBC驱动程序,该驱动程序运行良好,并允许使用VS Visual Designers创建强类型的ADO.NET数据集。 >

http://www.ch-werner.de/sqliteodbc

C# Reading data from existing SQLite database