您的位置:首页 > 数据库

sqlite连接

2016-05-17 10:02 141 查看
.net 4.0

引用System.Data.SQLite

using System;

using System.Configuration;

using System.Data;

using System.Data.Common;

using System.Data.SQLite;

namespace sqlite

{

    class Program

    {

        static void Main(string[] args)

        {

            try

            {

                if (ColumnIsExist("column1"))

                {

                    Console.WriteLine("存在列");

                }

                DbProviderFactory fact = DbProviderFactories.GetFactory("System.Data.SQLite");

                using (DbConnection conn = fact.CreateConnection())

                {

                    conn.ConnectionString = ConfigurationManager.ConnectionStrings["sqlite"].ConnectionString;

                    conn.Open();

                    using (DbCommand cmd = conn.CreateCommand())

                    {

                        cmd.CommandText = "alter table   Devices add  column1 int";

                        cmd.CommandType = CommandType.Text;

                        cmd.ExecuteNonQuery();

                    }

                }

            }

            catch (Exception ex)

            {

                Console.WriteLine(ex.ToString());

            }

            finally

            {

                Console.Read();

            }

        }

        public static bool ColumnIsExist(string columnName)

        {

            bool result = false;

            try

            {                

                string connectionStr = string.Format("Data Source = {0}", AppDomain.CurrentDomain.BaseDirectory + "HammerDB.db");

                using (SQLiteConnection connection = new SQLiteConnection(connectionStr))

                {

                    connection.Open();

                    using (SQLiteCommand cmd = connection.CreateCommand())

                    {

                        cmd.CommandText = "select * from Devices";

                        cmd.CommandType = CommandType.Text;

                        SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);

                        DataTable dt = new DataTable();

                        adapter.Fill(dt);

                        if (dt != null)

                        {

                            DataColumnCollection columns = dt.Columns;

                            foreach (DataColumn item in columns)

                            {

                                if (item.ToString() == "column1")

                                {

                                    result = true;

                                    break;

                                }

                            }

                        }

                    }

                }

            }

            catch (Exception ex)

            {

                Console.WriteLine(ex.ToString());

            }

            finally

            {

                Console.Read();

            }

            return result;

        }

    }
}

配置文件

<?xml version="1.0" encoding="utf-8"?>

<configuration>

  <startup>

    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>

  </startup>

  <system.data>

    <DbProviderFactories>

      <remove invariant="System.Data.SQLite"/>

      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.93.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />

    </DbProviderFactories>

  </system.data>

  <connectionStrings>

    <add name="sqlite" connectionString="Data Source=|DataDirectory|\HammerDB.db;Pooling=true;FailIfMissing=false"

      providerName="System.Data.SQLite" />

  </connectionStrings>

  

  

</configuration>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: