Pankaja Kanavi Ответов: 2

относительный путь, похоже, не работает для sqlite


Hi all i'm using sqlite db with winforms c#.
My code runs fine when i use the absolute path
SQLiteConnection m_dbConnection = new SQLiteConnection(@"Data Source=D:\Test\1\1\test.sqlite;");
but the problem starts when i use the relative path,if i use in the page behind i.e in .cs
string con = ConfigurationManager.ConnectionStrings["connection"].ConnectionString;
i have a app.config in which i have the following code

<configuration>
  <connectionStrings>
    <add name="connection" connectionString="Data Source=|DataDirectory|\test.sqlite; ProviderName=System.Data.SqlLite;"/>
  </connectionStrings>
</configuration>

SQL logic error or missing database
no such table:customers.
using AppDomain.CurrentDomain.SetData("DataDirectory", Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData))
also didn help me.I have done alot of serach on gooogle but seemed no much help to me. Any help would be greatly appreciated. Thanku

2 Ответов

Рейтинг:
1

Mehdi Gholam

Попробуйте оставить хвост"\":

<configuration>
  <connectionStrings>
    <add name="connection" connectionString="Data Source=|DataDirectory|test.sqlite; ProviderName=System.Data.SqlLite;"/>
  </connectionStrings>
</configuration>


Pankaja Kanavi

я пробовал не работает

Mehdi Gholam

Поместите точку останова в строку подключения и посмотрите, что возвращается для DataDirectory.

Pankaja Kanavi

Привет Мехди м получаю
Источник данных=|параметр datadirectory|\тест.базы данных SQLite; Имя_поставщика=система.Данных.SqlLite;

Рейтинг:
0

DeepakGowda L

это возможно

<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="Default" connectionString="Data Source=|DataDirectory|\DBBHC.db" providerName="System.Data.SQLite" />
  </connectionStrings>






переместите свою БД в папку app_data и используйте


using (SQLiteConnection conn = new SQLiteConnection(LoadConnectionString()))
            {

                var output = conn.Query<string>("select * from ProjectLists", new DynamicParameters());}