Я считаю себя очень терпеливым парнем с целым множеством намерений, чтобы заставить все работать, скажем, программу, над которой я работаю. Тем не менее, я чувствую, что я трачу драгоценное время, которое мог бы использовать, чтобы на самом деле получить знания в чем-то, а не удариться головой о стену, ничего не делая. ТАК .. Я собираюсь притвориться, что 11 часов, которые я провел сегодня, пытаясь исправить эту проблему, не пропали даром, пока я не смог ее исправить. Я новичок в базах данных и работаю над программой базы данных. Это было написано на vb6, и я пытался переписать его на vb.net. Я полностью избавил программу от всех ненужных причудливых аддонов, и теперь у меня есть необходимый код для ее запуска. Программа восстанавливает записи, но не заполняет эти записи на datagrid. И да, я пытался найти помощь по другим сообщениям и поисковым запросам Google, но мне не удалось найти решение для меня.DataGrid не отображает набор данных/записей
form1
Imports ADS_SQL_TEST_VBNET
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Module1.Main()
End Sub
Public Sub cmdSQLBound_Click()
sWhichDataType = "SQL"
Call SetGridSize("SQL Table Bound.")
End Sub
Public Sub optYes01ph_Click()
BuildTable() 'sets sFields and sQuery
cmdSQLBound_Click()
End Sub
End Class
module1
Imports System.Data
Imports System.Data.SqlClient
Imports ADS_SQL_TEST_VBNET.Form1
Imports ADS_SQL_TEST_VBNET.Class1
Public Module Module1
Public rs As ADODB.Recordset
Public db As ADODB.Connection
Public dgvDataGrid As DataGridView
Public DataGridRef As New DataGridView
Public sWhichDataType, sSource, sTable, sFields, sQuery, sFilter, sOrderBy, sSelectedIndex, sStoreId
Public lblCount As Object
Public Ctrl1, Ctrl2, Freq, Overhead As Decimal
Public l, x As Integer
Public A, I As Long
Public Sub Main()
Form1.optYes01ph_Click()
End Sub
Public Sub BuildTable()
If sTable = "yes01ph" Or sTable = "" Then
sTable = "yes01ph"
sFields = "store_id,control_no,first_name,last_name,company,address,city,State,zip,phone,total,stat_code,Year,make_id,model_id,engine_id,contact,phone1,phone2,phone3,phone4,invoice_no,ready_proc,summary,note"
sOrderBy = "control_no"
Else
sFields = "store_id,ml_id,first_name,last_name,company,address,city,state,zip,phone,last_upd,address2,phone2,ref_count,comments,fobs_key,quest,lockedby,rmte_stat,serv_upd,serv_id,psm_use,psm_points"
sOrderBy = "ml_id"
End If
BuildFilter()
End Sub
Public Sub BuildFilter()
sFilter = " AND control_no > 1 AND control_no < 500000"
BuildQuery()
End Sub
Public Sub BuildQuery()
sQuery = "SELECT " & sFields & " FROM " & sTable & " WHERE Store_ID Like 'XXX' " & sFilter & " Order By " & sOrderBy
sQuery = Replace(sQuery, "'XXX'", "'" & Trim(UCase("250")) & "'")
End Sub
Public Sub SetGridSize(ByVal sMessage As String)
Dim lblTableType As String
lblTableType = " " & sMessage
Form1.dgvDataGrid.Text = "Data populated using: " & UCase(sMessage)
DataGridRef.ColumnCount = 99
DataGridRef.RowCount = 1
DataSetRef.LoadDataBound()
End Sub
End Module
Class1
Public Class Class1
Public Sub LoadDataBound()
rs = GetData()
If Not rs.EOF Then
dgvDataGrid.DataSource = rs ' Bind the Datagrid to the recordset
dgvDataGrid.Refresh()
Else
MsgBox("No Records Found in DataGrid!")
End If
End Sub
Public Function GetData() As ADODB.Recordset
sWhichDataType = UCase(Trim(sWhichDataType))
sSource = "development"
GetData = OpenSQL()
End Function
Public Function OpenSQL() As ADODB.Recordset
db = New ADODB.Connection : rs = New ADODB.Recordset ' Initialize Connection object & RecordSet object
With db
.CursorLocation = ADODB.CursorLocationEnum.adUseClient
.Mode = ADODB.ConnectModeEnum.adModeReadWrite
.ConnectionString = "Provider=SQLOLEDB.1;Password=pacesql;Persist Security Info=True;User ID=sa;Initial Catalog=speedwrench;Data Source=" & sSource
.Open() ' "Provider=SQLOLEDB.1;Data Source=development", "sa", "pacesql", -1
End With
OpenSQL = db.Execute(sQuery)
End Function
End Class
Я думаю, что проблема заключается в LoadDataBound() Sub рутинных, но я не могу сказать наверняка, так как Я сам не смог это исправить. Большое вам спасибо, кто бы ни потратил время, чтобы прочитать все это, и извините, если он в настоящее время неаккуратен и загружен неиспользуемыми методами или vars ... Я полностью BUTCHERED эту вещь, пытаясь заставить ее работать.
Я думаю, что вы используете ADO вместо ADO.NET. Попробуйте привязать Datatable вместо набора записей – SSS