Рекомендации по использованию автоинкремента - Страница 2
| Индекс материала |
|---|
| Рекомендации по использованию автоинкремента |
| Страница 2 |
Да, я создал структуру объекта DataTable с помощью метода FittSchema. но поступил так. только чтобы сократить фрагмент кода. В реальном приложении я не стал бы использовать этот метод. Клянусь честью скаута.
Visual Basic. NET Dim ds As New DataSet() Dim strConn, strSQL As String strConn = "Provider=SQLOLEDB;Data Source=(local)\NetSDK;" i "Initial Catalog=Northwind;Trusted_Connectton=Yes;strSQL = "SELECT CustomerlD, CompanyName, ContactName " & "FROM CustomersDim da As New OleDbDataAdapter(strSQL, strConn) da. FillSchemafds, SchemaType. Source, "Customers") Dim tbl As DataTable = ds.
Tables("Customers") Dim col As DataColumn = tbl. Columns. Add("RowID", GetType(lnteger)) col.
AutoIncrement = True col. AutolncrementSeed = 1 col. AutoIncrementStep = 1 da.
Fill(ds, "Customers") Dim vue As New DataView(tbl) Dim intPageSize As Integer = 10 Dim intPageNum As Integer = 3 vue. RowFilter = "RowID > " & (intPageNum - 1) * intPageSize & " AND RowID<= " & intpagenum * intpagesize dim row as datarowview dim intcounter as integer for intcounter = 0 to vue.count - 1 row = vue(intcounter) console.writeline(row("rowid") & vdtab & row("customerid") & vbtab & row("companyname")) next intcounter visual c# .net dataset ds = new dataset(); string strconn, strsql; strconn = "provider=sqloledb;data source=(local)\ etsdk;" + "initial catalog=northwind;trusted_connection=yes;"; strsql = "select customerld, companyname, contactname " + "from customers"; oledbdataadapter da = new oledbdataadapterfstrsql, strconn); da.fillschema(ds, schematype.source, "customers"); datatable tbl = ds.tables["customers"]; datacolumn col = tbl.columns.add("rowid", typeof(int)); col.autoincrement = true; col.autolncrementseed = 1; col.autoincrementstep = 1; da.fill(ds, "customers"); dataview vue = new dataview(tbl); int intpagesize = 10; int intpagenum = 3; vue.rowfilter = "rowid >" + (intPageNum - 1) * intPageSize + " AND RowID<= " + intpagenum * intpagesize; datarowview row; for (int intcounter = 0; intcounter < vue.count; intcounter++) { row = vue[intcounter]; console.writeline(row["rowid"] + "\t" + row["customerid"] + "\t" + row["companyname"]); } стоит ли применять этот код как средство постраничного вывода данных ,:,ля web-приложений? думаю, нет. он плохо масштабируется. подробнее о способах постраничного вывода данных — в главе 14. данный фрагмент лишь показывает, как решить некоторые интересные проблемы при помощи средств автоинкремента ado.net.
Основы работы с Microsoft ADO.NET
Использование поставщика данных .NET
Метео


