.net 20 таблиц из SQL каждую секунду.
У меня есть серверная машина (sql2008), и мне нужно получать данные из 20 таблиц каждую секунду(table1,table2, ext..)
Используется vs2015 и datagridview, но локальные машины не могут получать данные каждую секунду. (разбился или отстал)
если я использую 1 gridview это работа но мне нужно получить данные из 20 таблиц
как я могу получить 20 таблиц из sql на каждую секунду?
Что я уже пробовал:
интервал таймера=1000
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick getdata(DataGridView1,table1) End Sub
Public Sub getdata(ByVal datagrid As Object, ByVal tableno As string) Dim Server As String = "server" Dim User As String = "sa" Dim Pass As String = "1231231" Dim Database As String = "database" Dim ay = "; " Dim DBConnection As String = "" DBConnection = DBConnection & "Provider=SQLOLEDB.1" & ay DBConnection = DBConnection & "Data Source=" & Server & ay DBConnection = DBConnection & "Initial Catalog=" & Database & ay DBConnection = DBConnection & "User ID=" & User & ay DBConnection = DBConnection & "Password=" & Pass & ";" Dim SQL As String SQL = "select * from " & tableno & "" Dim Conn As New ADODB.Connection() Dim rs As New ADODB.Recordset() Dim daTitles As New OleDbDataAdapter() Dim dsTitles As New DataSet("test") Conn.Open(DBConnection, "", "", -1) rs.Open(SQL, DBConnection, CursorTypeEnum.adOpenDynamic, LockTypeEnum.adLockOptimistic) daTitles.Fill(dsTitles, rs, "setting") datagrid.DataSource = dsTitles.Tables(0) rs.ActiveConnection.close() rs.ActiveConnection = Nothing Conn.Close() Conn = Nothing End Sub
Richard Deeming
1) ваше заявление должно НИКОГДА подключение к SQL как sa
Это учетная запись системного администратора, и она должна использоваться только для задач администрирования. Ваше приложение должно подключаться как пользователь, который имеет только разрешения, необходимые для запуска вашего приложения.
2) Похоже, вы используете ADODB. Это устаревшая технология на основе COM, которая значительно замедлит работу вашего кода. Вы должны использовать ADO.NET[^] вместо.
ADO.NET обзор[^]
ADO.NET примеры кода[^]
Michael_Davies
Согласно списку Ричарда с:
3. вы устанавливаете соединение, открываете execute и закрываете соединение для каждой таблицы. Вы сэкономите время, если откроете загруженный каждый стол, а затем закроете. Но так как вам нужны данные каждую секунду, откройте соединение на время действия вашей программы.
Yakup Yasin
я попробовал ado.net тоже. Но ничего не изменилось. Ty