[Databases] Домашно ADO.NET


7

Source

И понеже Database курса е сложен в Web Development раздела на форума съм направил задачите с Asp.net проект. :)

Всеки .aspx файл може да се пусне с десен бутон на мишката и "View in Browser".

Не са баш всичките задачи но предстои да ги допиша тези дни.

 

EDIT:

Можете да обърнете повече внимание на файла boFunctions.cs където съм направил няколко метода за работа с базата. На всякъде из програмата се ползват те за четене, запис и промяна на данните.

Работата с excel файл е почти по същия начин само дето още не съм направил и за него метод. 

По любознателните могат да се научат как се bind-ва GridView в asp.net webforms за да се показва резултата.

Ако в consola пишете по нея с Console.Write() то тук се заменя с Response.Write() и се изплюва резултата в уеб страницата.

 

EDIT 2013-07-15:

Сложих и последните домашни.


в Databases от saykor (8845 точки)


Отговори



1

Това ми е 5та задача и не разбирам защо вади едни и същи снимки като инфо в листа, и после защо не ми се отварят като снимки.

При теб работят ли снимките?

http://pastebin.com/VJS7XSEs

До 8 вкл. сега ще реша и 9та и ще я добавя и нея

https://github.com/Gerya/TelerikAcademy/tree/master/HomeWorks/Databases/5.%20ADO.NET


от Gerya (1079 точки)


0
Точно за 5та задача Виктор описва къде е проблема. http://forums.academy.telerik.com/107927/databases-%D0%B4%D0%BE%D0%BC%D0%B0%D1%88%D0%BD%D0%BE-ado-net-5-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0
Аз лично съм я решил като първо сменям картинките в базата и после ги точа. Това по-горе явно е за nortwind спецификация, защото като пусна аз картинка да се запише нямам проблем да си я изчета после. И до сега не съм виждал някой да записва картинки като вкарва името в пътвите 78 bits. По принцип се избягва добавяне на пик в база.

от saykor (8845 точки)


0
Някой знае ли как да се отърва от тези 13 грешки в 10 файла, които се появяват като се мапнеш към базата?

от vanina_nenova (327 точки)


1

Някой може ли да препоръча IDE за SQLite?
С конзолата ли трябва да бачкаме за да си направим последната задача?




0
SQLite Expert Professional

от GeorgiYolovski (1147 точки)

0
Друг вариант е add-on за Mozilla - SQLite Manager.
http://cplus.about.com/od/howtodothingsinc/ss/How-To-Use-Sqlite-From-Csharp.htm - пример как да си създадеш база в SQLite Manager и да я ползваш в C# приложение.
Трябва и да си инсталираш System.Data.SQLite provider през NuGet Package Manager на проекта.

от vic.alexiev (2299 точки)


5

Ако има други като мен, който не са разбрали как се работи с ADO.NET, ето ви една много добра серия от уроци

http://csharp-station.com/Tutorial/AdoDotNet


от SVGN_H (3048 точки)


1

А някой намери ли как се слага Primary Key в SQLite Expert Professional, защото аз не виждам такава опция ?


от Teodor92 (13062 точки)


0
:))))))))))) 3 дни по-късно...

от FeRt1 (2866 точки)

0
..... мисия невъзможна :D

от Teodor92 (13062 точки)



1

Някой срещнал ли е проблем при отварянето на connection-a? Пробвах със всякакви connection string-ове и все ми дава грешка: 

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.

Инсталирах си провайдер за Office 2010, но без резултат.

Между другото съм с Office 2013


от VGeorgiev (2890 точки)


0
На кое VS си ? 2013 или 2012 ?

от Teodor92 (13062 точки)

0
VS 2012, Office 2013, xlsx file

от VGeorgiev (2890 точки)



3

Ето и моето домашно: https://github.com/plamenyovchev/ADO.NET-Homework

Като цяло задачките бяха доста приятни, като разбереш как работи един provider и за другите е почти едно и също и само трябва да се сменя connection string-а. Ако може някой да ми погледне 8-ма задача и да каже дали съм я направил вярно. Реших, че ако направя сплит по тези символи ще избягам от проблемите. На другите задачи съм избягвал да използвам using, защото ми създаваше проблеми.

 

 


от plamen.yovchev (3283 точки)


0
Щом си слагал close се съмнявам да има проблем:) Така като го сплитнеш, ти влизат някакви стрингове в масив и ти после пак си ползваш входният а не сплитнатият. И идеята до колкото аз я разбрах е да го параметаризираш.

от Gerya (1079 точки)

0
Оп, моя грешка. Сега вече подавам inputSeparator[0]; - така вече май няма начин да се подадат нежелани символи.

от plamen.yovchev (3283 точки)


3
За 8ма задача, където трябва да се handle-нат правилно символите, които са дадени, открих, че параметричната заявка се справя с всички, освен с процента % и долната черта _, които съответно трябва да се replace-нат с [%] и [_].

от vlad_karamfilov (4595 точки)


0
Ползвам CHARINDEX + параметри. При тази комбинация няма нужда да ескейпваш нищо. "SELECT ProductName FROM Products WHERE CHARINDEX(@match,ProductName)>0 "
Не съм сигурен от към перформънс кое е по-добро.

от pirin (1101 точки)


4

Решения

Ето и моите задачи от 1 до 8


от georgi.ivanov (3261 точки)


0
Добавена е 10 задача.

от georgi.ivanov (3261 точки)


4

Всички задачи -> Github

За новите версии на Excel(*.xslx), свалете това и го инсталирайте:

http://www.microsoft.com/en-us/download/details.aspx?id=13255

За connection string използвайте:

string path = @"../../scores.xlsx";
string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;";
 
OleDbConnection excelCon = new OleDbConnection(connStr);

от kirov (4821 точки)


0
+1 и мерси за подсказката с OLE_METAFILEPICT_START_POSITION. Ето малко по-кратък начин без междинен Image и MemoryStream:
const int OLE_METAFILEPICT_START_POSITION = 78;
using (var fs = File.OpenWrite(name + ".jpg")) using (var stream = reader.GetStream(1)) { stream.Seek(OLE_METAFILEPICT_START_POSITION, SeekOrigin.Begin); stream.CopyTo(fs); }

от staafl (5770 точки)