Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
 MS Access SQL не работает в ADO.net  [new]
Алекс С
Member

Откуда:
Сообщений: 35
Возможно нужна какая-то адаптация?

Код запроса с суммированием и объединением:

SELECT warehouse.productID, Sum(reserved.quantity) AS SumReserved
FROM warehouse LEFT JOIN reserved ON warehouse.productID = reserved.productID
GROUP BY warehouse.productID

Прекрасно работает в Access, но когда использую в VB.net просто напросто выполнение программы обрывается в этом месте.
Есть подозрение что названия колонок таблиц нужно называть иначе т.е. не через точку warehouse.productID
30 июл 10, 11:12    [9182921]     Ответить | Цитировать Сообщить модератору
 Re: MS Access SQL не работает в ADO.net  [new]
buser
Member

Откуда: Санкт-Петербург
Сообщений: 4537
Предлагаю сперва на ексепшен посмотреть...
30 июл 10, 11:42    [9183227]     Ответить | Цитировать Сообщить модератору
 Re: MS Access SQL не работает в ADO.net  [new]
Курдль
Member

Откуда: Мск
Сообщений: 1143
Алекс С

Есть подозрение что названия колонок таблиц нужно называть иначе т.е. не через точку warehouse.productID


Это ANSI SQL стандартный! Если провайдер его не поддерживает - то пусть идет лесом!
Кстати, а какой провайдер используете? Кусок кода привести можете?
30 июл 10, 11:45    [9183254]     Ответить | Цитировать Сообщить модератору
 Re: MS Access SQL не работает в ADO.net  [new]
Алекс С
Member

Откуда:
Сообщений: 35
просто напросто выполнение программы обрывается в этом месте...
так что ексепшн не посмотришь...
использую Jet
код:

connString1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath.ToString + "\post.mdb"

myConn = New OleDbConnection
myConn.ConnectionString = connString1
myConn.Open()

Dim sqlcmd3 As New OleDbCommand("SELECT warehouse.productID, Sum(reserved.quantity) AS SumReserved FROM warehouse LEFT JOIN reserved ON warehouse.productID = reserved.productID GROUP BY warehouse.productID", myConn)

Dim strkolvo As String
Dim read3 As OleDb.OleDbDataReader
read3 = sqlcmd2.ExecuteReader()
While read3.Read
strkolvo = read3(0)
End While
MsgBox(strkolvo.ToString)

если сокращенно, то что-то вроде этого..
30 июл 10, 12:33    [9183734]     Ответить | Цитировать Сообщить модератору
 Re: MS Access SQL не работает в ADO.net  [new]
buser
Member

Откуда: Санкт-Петербург
Сообщений: 4537
Алекс С
просто напросто выполнение программы обрывается в этом месте...
так что ексепшн не посмотришь...
Да что Вы говорите! Беда...
30 июл 10, 12:40    [9183805]     Ответить | Цитировать Сообщить модератору
 Re: MS Access SQL не работает в ADO.net  [new]
Алекс С
Member

Откуда:
Сообщений: 35
видимо меня перепугал такой "страшный" и "сложный" ( для меня запрос )
Нет. все работает ( видимо очепятался )

Dim sqlcmd3 As New OleDbCommand("SELECT warehouse.productID, Sum(reserved.quantity) AS SumReserved FROM [warehouse] LEFT JOIN [reserved] ON warehouse.productID = reserved.productID GROUP BY warehouse.productID", myConn)
Dim read3 As OleDb.OleDbDataReader
read3 = sqlcmd3.ExecuteReader()
While read3.Read
strkolvo = read3(1)
MsgBox(strkolvo.ToString)
End While

+ небольшое исправление добавил ( FROM [warehouse] LEFT JOIN [reserved] )
но и без него также работает.
Сорри и сенькс еврибади! ))
30 июл 10, 12:41    [9183818]     Ответить | Цитировать Сообщить модератору
 Re: MS Access SQL не работает в ADO.net  [new]
buser
Member

Откуда: Санкт-Петербург
Сообщений: 4537
И таки научитесь дебажить свой код... очень полезно...
30 июл 10, 12:46    [9183869]     Ответить | Цитировать Сообщить модератору
 Re: MS Access SQL не работает в ADO.net  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
buser
И таки научитесь дебажить свой код... очень полезно...

А смысл? Только время терять на дебаге )
30 июл 10, 15:08    [9185321]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить