powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как использовать SQLite на С#
29 сообщений из 29, показаны все 2 страниц
как использовать SQLite на С#
    #39646399
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Много гуглил, но так и не понял. Студия предлагает использовать ADO с хитрыми обвязками и LINQ.


/*Но по мне это бред использовать LINQ для элементарных запросов. Да и вообще я запутался.*/

На питоне я писал так просто:

Код: python
1.
2.
3.
conn = sqlite3.connect('..\\akk.db')
        cur = conn.execute("select id,name,pass,cnt from accounts where checked=0 and used =1");
        res = cur.fetchone()



Вот чтото подобное есть в С# или обязательно извращаться через ADO, LINQ и тп. ?
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646403
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используя ADO, никто не вынуждает использовать Linq.
Приведенный вами код как раз похож на то, как это будет выглядеть при работе через ADO
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646404
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646409
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Да, но опять таки тащим ADO, для которого нужно устанавливать коннектор.

В том примере прост длл-ка лежит в папке с прогой, и деплоится легко

Я вот в упор не понимаю, зачем для доступа к локальной БД нужно задействовать систему...
Попроще совсем нельзя?
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646410
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

спс, но опять таки ставим коннектор вместо того чтоб кинуть длл.
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646412
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsqlставим коннектор вместо того чтоб кинуть длл.в чем разница?
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646416
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proiskatelsqlставим коннектор вместо того чтоб кинуть длл.в чем разница?А, вы дельфист, понятно. В мире .NET длл-ки "ставить" не требуется
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646425
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsqlизвращаться через ADO

ADO.NET
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646427
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProShocker.Proпропущено...
в чем разница?А, вы дельфист, понятно. В мире .NET длл-ки "ставить" не требуется

А вы, похоже, мимо проходили но погрецца зашли?

"В мире .NET" нету особо ничего кроме микрософтовского, ну оракл еще подсуетился. А вот MYSQL, SQLite... Качай и ставь коннекторы.

Нет, я не дельфист. я дельфи не понимаю как и VB. Ну вот прост не понимаю я их.

А разница в деплое. то я скинул прогу в архиве хотяб, распаковали и работают.

ЗЫЫ. с прошлой работы звонили - не могут на новый комп мою прогу поставить. А там в лятском коннекшнстринг прописана определенная версия, а они поставили новую... (MySql был) Нафиг наживать такие проблемы.
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646429
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Ну... я наверное очень не умный, но смысл сообщения не понял, честно.

я б хотел так как в примере, который написал при старте.

нельзя ли ответить попроще, и если такое невозможно сказать всего пару слов... "так низя" и докучи добавить "так нифига не получится, сколько не бейся", ну и совсем чтоб добить "микрософт задумал именно так, юзай АДО и не пищи"
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646434
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>iskatelsql, вчера, 22:33 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1293567&msg=21418836] [21418836]

>Много гуглил, но так и не понял.


Посмотри например здесь
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646436
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsqlhVostt,

Ну... я наверное очень не умный, но смысл сообщения не понял, честно.

я б хотел так как в примере, который написал при старте.

нельзя ли ответить попроще, и если такое невозможно сказать всего пару слов... "так низя" и докучи добавить "так нифига не получится, сколько не бейся", ну и совсем чтоб добить "микрософт задумал именно так, юзай АДО и не пищи"

Ещё раз. ADO.NET -- ключевое слово для гуглинга. Выдаёт тысячи страниц на всех языках.
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646437
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>iskatelsql, вчера, 22:33 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1293567&msg=21418836] [21418836]

>Много гуглил, но так и не понял.


Посмотри например здесь
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646469
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsqlЗЫЫ. с прошлой работы звонили - не могут на новый комп мою прогу поставить. А там в лятском коннекшнстринг прописана определенная версия, а они поставили новую... (MySql был) Нафиг наживать такие проблемы.
Потому что нормальные люди при разработке используют nuget-пакеты, а не библиотеки, установленные в GAC.
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646530
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsqlА разница в деплое. то я скинул прогу в архиве хотяб, распаковали и работают.Ну и? Я до сих пор не понимаю проблему. Так и будет, вне зависимости от того, используете вы ADO или нет.
iskatelsqlя б хотел так как в примере, который написал при старте.Я дал ссылку, там именно такой пример
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646819
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iskatelsqlМного гуглил, но так и не понял. Студия предлагает использовать ADO с хитрыми обвязками и LINQ.


/*Но по мне это бред использовать LINQ для элементарных запросов. Да и вообще я запутался.*/

На питоне я писал так просто:

Код: python
1.
2.
3.
conn = sqlite3.connect('..\\akk.db')
        cur = conn.execute("select id,name,pass,cnt from accounts where checked=0 and used =1");
        res = cur.fetchone()



Вот чтото подобное есть в С# или обязательно извращаться через ADO, LINQ и тп. ?

Как сделал я (VS2017):
1. Создал проект
2. добавил nuget package System.Data.SQLite (и иже с ними)
3. добвил
Код: xml
1.
2.
3.
  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=.\Store.db" providerName="System.Data.SQLite" />
  </connectionStrings>


4. добавил/заменил:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
    <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v13.0" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
    </providers>
  </entityFramework>
  <system.data>
    <DbProviderFactories>
      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
    </DbProviderFactories>
  </system.data>


5. Декларации:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
	public class Customer :INotifyPropertyChanged
	{
		private int id;
		private string name;
		private string address;

		public Customer(int _id, string _name, string _address)
		{
			id = _id;
			name = _name;
			address = _address;
		}

		public Customer(Customer _customer)
		{
			id = _customer.Id;
			name = _customer.Name;
			address = _customer.Address;
		}

		public Customer()
		{
		}
		[Key]
		public int Id { get => id; set => id = value; }
		public string Name { get { return name; } set { name = value; OnPropertyChanged("Name"); } }
		public string Address { get { return address; } set { address = value; OnPropertyChanged("Address"); } }

		public event PropertyChangedEventHandler PropertyChanged;
		public void OnPropertyChanged([CallerMemberName]string prop = "")
		{
			if (PropertyChanged != null)
				PropertyChanged(this, new PropertyChangedEventArgs(prop));
		}
	}

	public class AppContext : DbContext
	{
		public AppContext() : base("DefaultConnection")
		{
			//
		}

		public DbSet<Customer> Customers { get; set; }
	}


6. использование (хочешь - LINQ, хочешь - получай обычные дата-сеты):
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
			db = new AppContext();
			db.Customers.Load();
			this.DataContext = db.Customers.Local.ToBindingList(); // это для WPF

			var qry = from c in db.Customers select c;
			foreach(var c in qry)
			{
				Debug.WriteLine("Customer #{0}: {1} from '{2}'", c.Id.ToString(), c.Name, c.Address);
			}
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646875
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13th
Код: xml
1.
Entity Framework 6)" 

ну вот. А говорил не выходит каменный цветок).
Молодца! Удачи!
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646924
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЯ дал ссылку, там именно такой пример

так ответил же еще выше - нужно установить коннектор. А это нифига не тоже самое что притащить с собой длл.

Спасибо, конечно, на один из вопросов Вы ответили подробно. Но другой вопрос остается... Опять таки установка этих коннекторов.

из минусов:
1 их нужно качать и ставить, и именно такой версии
2 особо радуют приходящие админы, без которых ничего не поставишь, а им "никогда некогда"
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646927
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsql,

nuget
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646956
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsqlShocker.ProЯ дал ссылку, там именно такой пример

так ответил же еще выше - нужно установить коннектор. А это нифига не тоже самое что притащить с собой длл.Еще раз - объясни разницу. Что ты подразумеваешь под "установить"?
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646970
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proiskatelsqlпропущено...


так ответил же еще выше - нужно установить коннектор. А это нифига не тоже самое что притащить с собой длл.Еще раз - объясни разницу. Что ты подразумеваешь под "установить"?

Может я туплю, но в моем понимании ADO это всетаки "некоторая фигня которую надо скачать и установить в систему" и по умолчанию идет только для MS SQL server и вроде для оракла.

я же SqLite выбрал как относительно удобнуб БД, подходящую для Portabl версий, не требующих совсем никаких установок в системе.

Както так.
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646996
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нафига весь этот геморой, когда можно SqlLite поставить их NuGet репозитория и всё будет работать, кто то может мне это объяснить?
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646997
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsqlМожет я туплю
да
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39646998
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>iskatelsql, сегодня, 01:08 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1293567&msg=21422128] [21421905]

>Может я туплю, …
Думаю, что имеет смысл разделить работу по изготовлению программы, от работы по её установке (развертыванию).
NuGet потребуется только для настройки Visual Studio.
C# программы могут обходиться без инсталляции - копируешь содержимое папки и работаешь - необходимые .dll студия запишет в папку при компиляции. Но от согласования версий .Net Ftamwork не уйти - придется перекомпилировать
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39647003
Lev Limin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iskatelsqlМожет я туплю, но в моем понимании ADO это всетаки "некоторая фигня которую надо скачать и установить в систему" и по умолчанию идет только для MS SQL server и вроде для оракла.


А разве если ты пишешь под .NET значит стоит фреймворк и значит стоит ADO.NET?

iskatelsqlя же SqLite выбрал как относительно удобнуб БД, подходящую для Portabl версий, не требующих совсем никаких установок в системе.
Както так.

Да, но способ доступа до БД не скачал :)
ADO.NET это универсальный интерфейс для доступа к БД. И что бы не плодить сущностей в виде самобытного API, есть поддержка ADO.NET.

Иначе надо курить мануалы, как это приходится делать на питоне.

Если уж хочется прям самобытного, то используй LiteDB. Написана полностью под .NET и не требует ADO.NET
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39647034
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsqlМожет я туплю, но в моем понимании ADO это всетаки "некоторая фигня которую надо скачать и установить в систему"Установить где? На компе разработчика? А то, что на компе разработчика нужно установить Visual Studio и другую кучу фигни, тебя не смущает, только ADO.NET?
Или на компе клиента? На компе клиента ADO.NET устанавливать не потребуется, тебе это с самого начала твердят
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39647110
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProНа компе клиента ADO.NET устанавливать не потребуется, тебе это с самого начала твердят

ясн, понятн, извините.
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39647138
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman MejtesНафига весь этот геморой, когда можно SqlLite поставить их NuGet репозитория и всё будет работать, кто то может мне это объяснить?
Не всё. Надо конфиг редактировать. А про это мало кто пишет внятно.
...
Рейтинг: 0 / 0
как использовать SQLite на С#
    #39647174
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13thRoman MejtesНафига весь этот геморой, когда можно SqlLite поставить их NuGet репозитория и всё будет работать, кто то может мне это объяснить?
Не всё. Надо конфиг редактировать. А про это мало кто пишет внятно.
Конфиг надо редактировать в случае использования SQLite в связке с ORM. Если надо просто тупо открыть коннект и прочитать данные из датаридера (что, собственно, и хотел ТС), то никакие редактирования конфига не нужны.
...
Рейтинг: 0 / 0
29 сообщений из 29, показаны все 2 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как использовать SQLite на С#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]