求解决方法。要详细的。thank you!
注意是winform下,不是wpf

解决方案 »

  1.   

    额。上一个颜色选错了。重写winform .net 4.0如何连接 sqlite
    求解决方法。要详细的。thank you!
    注意是winform下,不是wpf
      

  2.   

    string dbfile = System.Environment.CurrentDirectory + "\\DBSource\\db.db";
                if (!File.Exists(dbfile))
                {
                    MessageBox.Show("数据库不存在!");
                }            string connstr = "Data Source=" + dbfile + ";BinaryGuid=False";
                SQLiteConnection conn = new SQLiteConnection(connstr);
                System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand();
                string sqlstr = string.Empty;
                cmd.Connection = conn;
                conn.Open();
                sqlstr = "SELECT * FROM student";
                cmd = new SQLiteCommand(sqlstr, conn);
                SQLiteDataReader dr = cmd.ExecuteReader();
      

  3.   

    我前几天刚学了SQLITE数据库,不过学的是很简单的。
      

  4.   

    下载个System.Data.SQLite.dll
    连接字符串: data source=filepath
      

  5.   


    这个是解决办法么?可能是我没说明白,sqlite目前大部分的是支持.net2.0 的,但是我的程序是用.net4.0做的,而且还是winform程序,在网上找了好长时间的解决方法,都没有找到,都是如何解决wpf连接sqlite的办法,如果用wpf的办法,那么怎么加配置文件呢?加了配置文件又如何读这个配置文件呢?
    下面的是解决wpf .net 4.0 连接sqlite的方法。
    <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
    </startup>
      

  6.   

    你的程序加一个app.config(New Item -> Application Configuration File),在configuration节下添加
    <startup useLegacyV2RuntimeActivationPolicy="true"><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
    就可以了
      

  7.   

    http://www.devart.com/dotconnect/sqlite/
      

  8.   


    <configuration>
      <configSections>
        <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null />
      </configSections>
      <dataConfiguration defaultDatabase="
     
    ">
         <providerMappings>
          <add databaseType="EntLibContrib.Data.SQLite.SQLiteDatabase, EntLibContrib.Data.SqLite, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
            name="System.Data.SQLite" />
        </providerMappings>
      </dataConfiguration>
      <connectionStrings>
        <add name="sqlite" connectionString="Data Source=|DataDirectory|\db;Pooling=true;FailIfMissing=false"
          providerName="System.Data.SQLite" />
      </connectionStrings>
    </configuration>
     Database db=DatabaseFactory.CreateDatabase ("ConnectionString");
                    DbCommand comm = db.GetStoredProcCommand("GetUserByID");
                    IDataReader reader = null;
                    db.AddInParameter(comm, "UserID", DbType.String, "12");
                    using (reader = db.ExecuteReader(comm))
                    {
                       
                    }
      

  9.   

    我的程序是winform下的,准确的说是用vsto中的winform面板,其实和winform程序一样的,没有XML代码的,还有我想问的是在winform 程序下.net 4.0 怎么连接sqlite,一连接就出现错误,Mixed mode assembly is built against version ‘v2.0.50727′ of the runtime
    and cannot be loaded in the 4.0 runtime without additional configuration information. 这是错误信息。唉,怎么弄啊,帮帮忙。求解决办法。
      

  10.   

    Mixed mode assembly is built against version ‘v2.0.50727′ of the runtime
    and cannot be loaded in the 4.0 runtime without additional configuration information.
    lz 我简单翻译下,你别笑混合模式集编译有悖于版本v2.0.50727运行时
    并且在没有额外配置信息下不能加载4.0运行时
    所以说你看看 是不是你运行时的问题,为什么你的.net4.0会涉及到你的 2.0呢
      

  11.   

    用il把dll从2.0编译成4.0的试试
      

  12.   

    试试ADO.NET Entity Data Model。
      

  13.   

    这个配置是给CLR用的,你当然不用读
    你在C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools下新建一个sgen.exe.config文件,内容为
    <?xml version ="1.0"?>
    <configuration>
        <startup useLegacyV2RuntimeActivationPolicy="true">
            <requiredRuntime safemode="true" imageVersion="v4.0.30319" version="v4.0.30319"/>
        </startup>
    </configuration>
      

  14.   

    我sqlite的dll是.net 2.0版本的,现在好像还没有支持.net 4.0 的sqlite的dll吧,而我的程序是.net 4.0 的,所以回出错的。
      

  15.   

    我sqlite的dll是.net 2.0版本编译的吧,最高好像能支持.net 3.5的,现在好像还没有支持.net 4.0 的sqlite的dll吧,而我的程序是.net 4.0 的,所以回出错的。
      

  16.   

    我sqlite的dll是.net 2.0版本编译的吧,最高好像能支持.net 3.5的,现在好像还没有支持.net 4.0 的sqlite的dll吧,而我的程序是.net 4.0 的,所以回出错的。
      

  17.   

    Microsoft 中间语言(Microsoft Intermediate Language,MSIL 或简称为IL)
      

  18.   

    Microsoft 中间语言(Microsoft Intermediate Language,MSIL 或简称为IL)
      

  19.   

    Microsoft 中间语言(Microsoft Intermediate Language,MSIL 或简称为IL)
      

  20.   

    il是反編譯,但是:
    反編譯也解決不了問題,原有dll 是.net2 ,dll必然引用的框架也是.NET2的,你在重新編譯回去能用,不是新手能做的,起碼你需要更改因為框架版本,況且.net4的與.Net2地址有很大變動,你甭想了
      

  21.   

    楼主我的解决了App.config 配置如下
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <connectionStrings>
        <add name="sqliteConnString" connectionString="Data Source=World.db3;Pooling=true;FailIfMissing=false" providerName="System.Data.SQLite" />
      </connectionStrings>
      <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0"/>
        <requiredRuntime version="v4.0.20506" />
      </startup>
    </configuration>
      

  22.   

    后台代码如下
      DbProviderFactory fact = DbProviderFactories.GetFactory("System.Data.SQLite");
                using (DbConnection conn = fact.CreateConnection())
                {
                    conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["sqliteConnString"].ConnectionString;
                    conn.Open();
                    DbCommand comm = conn.CreateCommand();
                    comm.CommandText = "select * from city";
                    comm.CommandType = CommandType.Text;
                    using (IDataReader reader = comm.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            //Response.Write(reader["rName"]);
                        }
                    }
                }
      

  23.   


    关键是xml中的代码,我的也解决了。