Выполнение Sql запроса с временной таблицей - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Сваял кое как sql запрос
Листинг программы
  1. CREATE TABLE #t1 (dat smalldatetime, i FLOAT)
  2. INSERT INTO #t1
  3. SELECT TimestampStr, ch8_val
  4. FROM dbo.Adroit_K10
  5. WHERE TimestampStr>'2017-03-2 17:00' AND TimestampStr<'2017-03-3 5:00'
  6. SELECT dat = CONVERT(CHAR(14),dat,120)+'00', i = CONVERT(NUMERIC(10,2),AVG(i)) FROM #t1 GROUP BY CONVERT(CHAR(14),dat,120)+'00'
  7. ORDER BY dat
  8. DROP TABLE #t1
Хочу его делать в vb.net Помогите пожалуйста с этим Пытаюсь так.
Листинг программы
  1. Dim cn As ADODB.Connection
  2. Dim rec As ADODB.Recordset
  3. Private Sub Connect_SQL()
  4. cn = New ADODB.Connection
  5. cn.ConnectionTimeout = 5000
  6. cn.CommandTimeout = 5000
  7. cn.Open("DRIVER={SQL Server};SERVER=SRV;DATABASE=Adroit_DB;UID=sa;PWD=1")
  8. End Sub
  9. Sub getvals
  10. Call Connect_SQL()
  11. rec = cn.Execute("create table #t1 (dat smalldatetime, i float) insert into #t1 select TimestampStr, ch8_val from dbo.Adroit_K10 where TimestampStr>'2017-03-2 17:00' and TimestampStr<'2017-03-3 5:00' select dat = convert(char(14),dat,120)+'00', i = Convert(numeric(10,2),AVG(i)) from #t1 group by convert(char(14),dat,120)+'00' order by dat")
  12. End Sub
Что я делаю не так?

Решение задачи: «Выполнение Sql запроса с временной таблицей»

textual
Листинг программы
  1. Function ExecuteQuery() As DataTable
  2.     Using dbConn As New SqlConnection("SERVER=SRV;DATABASE=Adroit_DB;UID=sa;PWD=1")
  3.         Dim dbCmd As New SqlCommand
  4.         dbCmd.CommandText = "CREATE TABLE #t1 (dat smalldatetime, i FLOAT)" & vbCrLf & _
  5.             "INSERT INTO #t1" & vbCrLf & _
  6.             "SELECT TimestampStr, ch8_val" & vbCrLf & _
  7.             "FROM dbo.Adroit_K10" & vbCrLf & _
  8.             "WHERE TimestampStr>'2017-03-2 17:00' AND TimestampStr<'2017-03-3 5:00'" & vbCrLf & _
  9.             "" & vbCrLf & _
  10.             "SELECT dat = CONVERT(CHAR(14),dat,120)+'00', i = CONVERT(NUMERIC(10,2),AVG(i)) FROM #t1 GROUP BY  CONVERT(CHAR(14),dat,120)+'00'" & vbCrLf & _
  11.             "ORDER BY dat" & vbCrLf & _
  12.             "DROP TABLE #t1"
  13.         dbCmd.Connection = dbConn
  14.         Dim dbAdapter As New SqlDataAdapter(dbCmd)
  15.         Dim dataSet As New DataSet
  16.         dbConn.Open()
  17.         dbAdapter.Fill(dataSet)
  18.         Return dataSet.Tables(0)
  19.     End Using
  20. End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы