如何把DataTable转换成RecordSet ,急~~~~~~~!!!!!!!!!!!!

blasterboy 2004-07-15 10:30:58
如题

提供思路也好啊。最好能提供解决Code
...全文
430 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
blasterboy 2004-07-15
  • 打赏
  • 举报
回复
lzmtw(水如烟)
对亚,这个主意好

可是怎么做啊,我找了好久
现在我就会把DataSet转换成XML,可是咱们弄成recordset我就不知道了
水如烟 2004-07-15
  • 打赏
  • 举报
回复
用ADO.NET将XML数据输到数据库一个临时表
然后再有ADO来处理
blasterboy 2004-07-15
  • 打赏
  • 举报
回复
不是的,现在我需要RecordSet的一些特性,因为原来的系统是VB,现在要升级的.net上面来,如果要是用dataTable的话,那么大家的改动就比较大了:(,所以现在想把dataTable里面的值给转换成Recordset
CMIC 2004-07-15
  • 打赏
  • 举报
回复
http://dev.csdn.net/develop/article/17/17850.shtm
CMIC 2004-07-15
  • 打赏
  • 举报
回复
使用OleDbDataAdapter的Fill方法可以直接填充RecordSet
炎龙的李 2004-07-15
  • 打赏
  • 举报
回复
试试把Recordset逐行送入datatable中,也许可以.因为两者还是很像的啊
blasterboy 2004-07-15
  • 打赏
  • 举报
回复
水如烟
赫赫,好像每次都看到你,你真得挺热心的:)
blasterboy 2004-07-15
  • 打赏
  • 举报
回复
哦,对了,这个给忘了,Recordset必须要连接的:(,这个可惨了:(

那我怎么能从XML中生成RecordSet的呢?
水如烟 2004-07-15
  • 打赏
  • 举报
回复
RecordSet是不是在Ado连接中断后就完蛋了的,也只是对Connection负责的吧
是的话那就不可能转换的了
要转也只能是这样:
DataSet更新数据库后重新Update那个RecordSet
myfei 2004-07-15
  • 打赏
  • 举报
回复
jie fen !
blasterboy 2004-07-15
  • 打赏
  • 举报
回复
没办法,因为是旧系统改造,所以还是要用到Recordset,难道没有能人了,不可能:(
炎龙的李 2004-07-15
  • 打赏
  • 举报
回复
不行啊,我很早就问过这个问题.
既然都用.net了,就抛弃ado吧
blasterboy 2004-07-15
  • 打赏
  • 举报
回复
好的,我再想想把。麻烦阿!!!
水如烟 2004-07-15
  • 打赏
  • 举报
回复
哪能生成,Recordset能支持XML吗,这我不清楚
我的思路是将XML数据通过ADO.NET上传到数据库的一个临时表tmpTable,
接着用原来的ADO来处理这个tmpTable
blasterboy 2004-07-15
  • 打赏
  • 举报
回复

我看了半天也没看到关键的
怎么用xML生成Recordset
水如烟 2004-07-15
  • 打赏
  • 举报
回复
Private Sub DemonstrateReadWriteXMLDocumentWithXMLReader()
' Create a DataSet with one table and two columns.
Dim OriginalDataSet As New DataSet("myDataSet")
OriginalDataSet.Namespace = "NetFrameWork"
Dim myTable As New DataTable("myTable")
Dim c1 As New DataColumn("id", Type.GetType("System.Int32"))
c1.AutoIncrement = True
Dim c2 As New DataColumn("item")
myTable.Columns.Add(c1)
myTable.Columns.Add(c2)
OriginalDataSet.Tables.Add(myTable)
' Add ten rows.
Dim newRow As DataRow
Dim i As Integer
For i = 0 To 9
newRow = myTable.NewRow()
newRow("item") = "item " + i.ToString()
myTable.Rows.Add(newRow)
Next i
OriginalDataSet.AcceptChanges()
' Print out values of each table in the DataSet using the
' function defined below.
PrintValues(OriginalDataSet, "Original DataSet")
' Write the XML schema and data to file with FileStream.
Dim xmlFilename As String = "myXmlDocument.xml"
' Create FileStream
Dim fsWriteXml As New System.IO.FileStream _
(xmlFilename, System.IO.FileMode.Create)
' Create an XmlTextWriter to write the file.
Dim xmlWriter As New System.Xml.XmlTextWriter _
(fsWriteXml, System.Text.Encoding.Unicode)
' Use WriteXml to write the document.
OriginalDataSet.WriteXml(xmlWriter)
' Close the FileStream.
fsWriteXml.Close()

' Dispose of the original DataSet.
OriginalDataSet.Dispose()
' Create a new DataSet.
Dim newDataSet As New DataSet("New DataSet")

' Read the XML document back in.
' Create new FileStream to read schema with.
Dim fsReadXml As New System.IO.FileStream _
(xmlFilename, System.IO.FileMode.Open)
' Create an XmlTextReader to read the file.
Dim myXmlReader As New System.Xml.XmlTextReader(fsReadXml)
' Read the XML document into the DataSet.
newDataSet.ReadXml(myXmlReader)
' Close the XmlTextReader
myXmlReader.Close()

' Print out values of each table in the DataSet using the
' function defined below.
PrintValues(newDataSet, "New DataSet")
End Sub


Private Sub PrintValues(ds As DataSet, label As String)
Console.WriteLine(ControlChars.Cr + label)
Dim t As DataTable
Dim r As DataRow
Dim c As DataColumn
For Each t In ds.Tables
Console.WriteLine("TableName: " + t.TableName)
For Each r In t.Rows
For Each c In t.Columns
Console.Write(ControlChars.Tab + " " + r(c).ToString())
Next c
Console.WriteLine()
Next r
Next t
End Sub

/****
够了没有?哈
水如烟 2004-07-15
  • 打赏
  • 举报
回复
DataSet.ReadXml 方法请参见
DataSet 类 | DataSet 成员 | System.Data 命名空间 | 代码:从视图状态检索数据集 (Visual Basic) | 代码:将 XML 文件读入到数据集中 (Visual Basic) | DataSet 成员(Visual J# 语法) | C++ 托管扩展编程
语言
C#

C++

JScript

Visual Basic

全部显示
将 XML 架构和数据读入 DataSet。

重载列表
使用指定的 System.IO.Stream 将 XML 架构和数据读入 DataSet。

[Visual Basic] Overloads Public Function ReadXml(Stream) As XmlReadMode
[C#] public XmlReadMode ReadXml(Stream);
[C++] public: XmlReadMode ReadXml(Stream*);
[JScript] public function ReadXml(Stream) : XmlReadMode;
使用指定的文件将 XML 架构和数据读入 DataSet。

受 .NET Framework 精简版的支持。

[Visual Basic] Overloads Public Function ReadXml(String) As XmlReadMode
[C#] public XmlReadMode ReadXml(string);
[C++] public: XmlReadMode ReadXml(String*);
[JScript] public function ReadXml(String) : XmlReadMode;
使用指定的 System.IO.TextReader 将 XML 架构和数据读入 DataSet。

[Visual Basic] Overloads Public Function ReadXml(TextReader) As XmlReadMode
[C#] public XmlReadMode ReadXml(TextReader);
[C++] public: XmlReadMode ReadXml(TextReader*);
[JScript] public function ReadXml(TextReader) : XmlReadMode;
使用指定的 System.Xml.XmlReader 将 XML 架构和数据读入 DataSet。

受 .NET Framework 精简版的支持。

[Visual Basic] Overloads Public Function ReadXml(XmlReader) As XmlReadMode
[C#] public XmlReadMode ReadXml(XmlReader);
[C++] public: XmlReadMode ReadXml(XmlReader*);
[JScript] public function ReadXml(XmlReader) : XmlReadMode;
使用指定的 System.IO.Stream 和 XmlReadMode 将 XML 架构和数据读入 DataSet。

[Visual Basic] Overloads Public Function ReadXml(Stream, XmlReadMode) As XmlReadMode
[C#] public XmlReadMode ReadXml(Stream, XmlReadMode);
[C++] public: XmlReadMode ReadXml(Stream*, XmlReadMode);
[JScript] public function ReadXml(Stream, XmlReadMode) : XmlReadMode;
使用指定的文件和 XmlReadMode 将 XML 架构和数据读入 DataSet。

[Visual Basic] Overloads Public Function ReadXml(String, XmlReadMode) As XmlReadMode
[C#] public XmlReadMode ReadXml(string, XmlReadMode);
[C++] public: XmlReadMode ReadXml(String*, XmlReadMode);
[JScript] public function ReadXml(String, XmlReadMode) : XmlReadMode;
使用指定的 System.IO.TextReader 和 XmlReadMode 将 XML 架构和数据读入 DataSet。

[Visual Basic] Overloads Public Function ReadXml(TextReader, XmlReadMode) As XmlReadMode
[C#] public XmlReadMode ReadXml(TextReader, XmlReadMode);
[C++] public: XmlReadMode ReadXml(TextReader*, XmlReadMode);
[JScript] public function ReadXml(TextReader, XmlReadMode) : XmlReadMode;
使用指定的 System.Xml.XmlReader 和 XmlReadMode 将 XML 架构和数据读入 DataSet。

受 .NET Framework 精简版的支持。

[Visual Basic] Overloads Public Function ReadXml(XmlReader, XmlReadMode) As XmlReadMode
[C#] public XmlReadMode ReadXml(XmlReader, XmlReadMode);
[C++] public: XmlReadMode ReadXml(XmlReader*, XmlReadMode);
[JScript] public function ReadXml(XmlReader, XmlReadMode) : XmlReadMode;
blasterboy 2004-07-15
  • 打赏
  • 举报
回复
不要这样吧
没有直接从XML里面直接读取得马:(
水如烟 2004-07-15
  • 打赏
  • 举报
回复
dataset.readxml()
如果XML文件格式相同的话,你人工在数据库上建这个tmpTable
adapter对tmpTable操作
adapter.Update(dataset) ,这样将数据送到tmpTable了。
RecordSet("select * from tmptable",或"insert ... select from tmptable"等等等
第一天 我认为ASP.NET比ASP难很多,希望大家做好准备。难难在实现同一个效果有很多方法,大家或许会疑惑。十天学会系列教程会清晰的写出各种方法,让大家能少一点坎坷。在ASP里面,大家几乎都是使用VB,数据库嘛,也无非是SQL和ACCESS。在ASP.NET里面,数据库还是这两个但是常用的语言多了一个C#,也是微软推荐的语言,为.NET平台定制的语言。这样ASP.NET就有四种组合:VB+ACCESS,VB+SQL,C#+ACCESS,C#+SQL,本教程会使用C#+ACCESS,兼顾四种来写,让大家对ASP.NET有一个全面的认识。虽然说学习ASP.NET不需要任何ASP基础,但是我觉得如果大家ASP不会,还是先看一下【十天学会ASP教程】,大家所需要了解的不是ASP的程序怎么写,而是怎么构建服务器,怎么使用HTML表单,同时对SQL语句有一个基础和理解,因为在本文里我不会将将一些基础的东西。 废话不多说,开始我们第一天的学习: 学习目的:调试出安装环境 我要申明一点,操作系统就用2000,如果说要学习一个网络语言还不肯多装一个操作系统的话,那我看也不要学习了。 先到网上下载一个MDAC(要是2.7以上的版本才行),然后安装,安装以后或许会重新启动一次。 然后再下载一个.NET FRAMEWORK SDK,安装以后会在控制面板里面的管理工具里面多两个东西,这个不用理睬他,我们要使用的还是原来的INTERNET服务管理器。打开它按照ASP教程里面的调试方法建立一个目录,建立一个EXAMPLE1.ASPX,然后用记事本打开这个文件在里面输入 <script language="c#" runat="server"> void Page_Load() { Response.Write("Hello World!"); } sub page_load() response.write("Hello World!") end sub 分割开,大家可以比较一下。2、我写教程的时候用的都是记事本来编写APS.NET大家也可以安装VS.NET来编写不过起步还是用记事本比较好,因为可以看的更加透彻一点。今天就说到这里,明天说一下C#的基本语法。 十天学会ASP.net(2) 作者:佚名 阅读人次:11611 文章来源:未知 发布时间:2005-6-24 网友评论(4)条 第二天 学习目的:掌握C#的基本知识 一、定义变量: string strExample; 字符串("aaa") char chrExample; 字符('a') bool blnExample; Bool型(true/false) DataTime datExample; 日期型("09/19/2002") int intExample; 整数(32位有符号整数) double dblExample; 浮点数(64位双精度浮点数) 二、各种运算: = 赋值运算 + 加法运算 - 减法运算 * 乘法运算 / 除法运算 % 取模运算 && 逻辑And || 逻辑Or ! 逻辑Not 三、各种结构: if(条件) { } else { } switch(条件) { case option1: break; case option2: break; } for(int i=1;i<=10;i++)//特别注意这里面是分号 { } while(条件) { } do { }while(条件); 四、注意事项: 1、用习惯VB的人很容易漏了语句末尾的分号; 2、用习惯VB的人很随便使用变量但是不申明,这在C#默认情况下是不允许的; 3、在向函数传递参数的时候要用圆括号:Response.Write "aa";是不允许的。 我说的这点几乎称不上是在说一种语言,一种语言的学习不仅仅需要学习语法,还需要学习语言特色,希望大家有空还是买一本C#的书来好好研究一下C#作为一种新的语言的特性吧。 十天学会ASP.net(2) 作者:佚名 阅读人次:11611 文章来源:未知 发布时间:2005-6-24 网友评论(4)条 第二天 学习目的:掌握C#的基本知识 一、定义变量: string strExample; 字符串("aaa") char chrExample; 字符('a') bool blnExample; Bool型(true/false) DataTime datExample; 日期型("09/19/2002") int intExample; 整数(32位有符号整数) double dblExample; 浮点数(64位双精度浮点数) 二、各种运算: = 赋值运算 + 加法运算 - 减法运算 * 乘法运算 / 除法运算 % 取模运算 && 逻辑And || 逻辑Or ! 逻辑Not 三、各种结构: if(条件) { } else { } switch(条件) { case option1: break; case option2: break; } for(int i=1;i<=10;i++)//特别注意这里面是分号 { } while(条件) { } do { }while(条件); 四、注意事项: 1、用习惯VB的人很容易漏了语句末尾的分号; 2、用习惯VB的人很随便使用变量但是不申明,这在C#默认情况下是不允许的; 3、在向函数传递参数的时候要用圆括号:Response.Write "aa";是不允许的。 我说的这点几乎称不上是在说一种语言,一种语言的学习不仅仅需要学习语法,还需要学习语言特色,希望大家有空还是买一本C#的书来好好研究一下C#作为一种新的语言的特性吧。 十天学会ASP.net(4) 作者:佚名 阅读人次:8772 文章来源:未知 发布时间:2005-6-24 网友评论(7)条 第四天 学习目的:掌握WEB控件的使用(二) 首先我要说明,我这十天教程也只是一个让大家对ASP.NET有一个认识而已,我也跳过了很多东西。网上有很多人在责骂我写的教程,认为十天什么都学不会,看了我的教程还是什么都不会,我想他们或许是过高估计了我的教程。外面有很多书,关于ASP和ASP.NET的,我就是看外面的书学会的。我所要做的就是希望大家能看了我的教程以后觉得ASP和ASP.NET不是学不会的东西然后有信心去学会它。我想学习还是靠自己的,外面每一本书也有自己写的不周到的地方,关键还需要自己的实践加上探索。 首先来说一下表单的验证控件,以前我们做表单验证,如果是客户端的JAVASCRIPT,不能做到美观统一,而且还可以通过直接在浏览器起教表单来屏蔽;如果我们做服务器端验证,又会发现让检验结果在前台反映也是很麻烦的事情。现在好了,ASP.NET提供的很多检验控件让我们不需要考虑是客户端检验还是服务器端检验,让我们不需要考虑是怎么输出检验结果。 看一下检验表单控件是不是填写了的检验控件先: controltovalidate就是你想检验的控件的ID;默认情况下不显示错误消息,地方也会被保留,如果使用了display="dynamic" 那么不显示错误消息的地方不会被空出; forecolor="#ff0000" font-name="宋体" font-size="9pt" 就是设定错误消息字体的颜色,字体,大小的;text="请填写" 就是当没有填写内容时候显示的错误消息;别忘记最后的runat="server"。现在这个检验控件是放在了textbox的后面,那么错误消息也在textbox后面显示,也可以放在其他地方。 再看一下比较表单控件的数据与另外一个数据的检验控件: 这里是第一个需要用户填写的密码框 我们经常会再设立一个密码框让用户再填写一次: controltocompare="password1" 就是需要比较的控件;operator="equal" 就是设定比较操作是:是否相等(还有NotEqual:不相等,LessThan:少于,GreaterThan:大于,当不符合这个比较操作的时候显示错误消息)。 以前说到BUTTON控件CausesValidation=true/false来设置按钮提交的表单是不是被检验也就是这里的几个检验控件,如果CausesValidation=true的话按下按钮就会首先检测是不是都通过了检验控件的检验。 下面再说两点: 一、每一个可以显示的控件都有是不是显示的属性,比如username.Visible=false;就是隐藏了前面的username控件;还有就是如果要对控件应用CSS的话就这么写:cssclass="",而不是以前HTML中的class=""。 二、所有WEB控件都要包含在
中,否则就会出错。 今天就到此结束,请继续往后面看,下次开始就要说ADO.NET了。 十天学会ASP.net(5) 作者:佚名 阅读人次:8013 文章来源:未知 发布时间:2005-6-24 网友评论(6)条 第五天 学习目的:学会连接两种数据库 对于ASP来说,我们常用的数据库无非是ACCESS和SQL SERVER,对于ASP.NET也是,不过ASP.NET对于SQL SERVER有专门的连接组件而不推荐用OLE DB。 首先看一下ACCESS的连接数据库并打开; string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath("*.mdb"); //*就是数据库的名字 OleDbConnection objConnection=new OleDbConnection(strConnection); objConnection.Open(); ________________________________________ dim objConnection as OleDbConnection objConnection=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("*.mdb")) objConnection.Open() 下面再看一下SQL SERVER的连接数据库并打开; string strConnection="server=数据库连接;uid=用户名;pwd=密码;database=数据库名字"; SqlConnediob objConnection=new SqlCOnnection(strConnection); objConnection.Open(); ________________________________________ dim objConnection as SqlConnectiom objConnection=new SqlConnection("server=数据库连接;uid=用户名;pwd=密码;database=数据库名字") objConnection.Open() 实际上,在大多数地方SQL SERVER和ACCESS的区别除了连接语句,其他定义语句也就是SQL××和OLEDB××的区别 另外,如果是ACCESS数据库的话在ASPX文件的开头需要包括下列语句: <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.OleDb"%> 如果是SQL SERVER则需要包括以下语句: <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.SqlClient"%> 今天就说到这里,明天开始讲数据库的读取。 十天学会ASP.net(6) 作者:佚名 阅读人次:7634 文章来源:未知 发布时间:2005-6-24 网友评论(4)条 第六天 学习目的:学会读取数据库 有的网友说,不会C#,在ASP.NET里面还是选择VB.NET,这个我不反对,但是我觉得既然是学习新的东西,就不要在意有多少是新的。实际上C#就一般的操作来说,只是区分大小写和多了一个分号这两点与VB.NET不同其他都差不多啊。在ASP里面我们读取数据就直接用RECORDSET,然后在HTML代码里面穿插<%= %>就可以显示了,但是ASP.NET讲究的是代码分离,如果还是这样显示数据就不能代码分离了。所以我们有两种方法:如果是读取一条记录的数据或者不多的数据,我们用DATAREADER采集数据,然后赋值给LABEL控件的Text属性即可;如果是读取大量数据我们就采用DATAGRID。 今天我们就来说一下DATAREADER: string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath(strDb); OleDbConnection objConnection=new OleDbConnection(strConnection); OleDbCommand objCommand = new OleDbCommand("这里是SQL语句" , objConnection); objConnection.Open(); OleDbDataReader objDataReader=objCommand.ExecuteReader(); if(objDataReader.Read()) { oicq.Text=Convert.ToString(objDataReader["useroicq"]); homesite.Text=Convert.ToString(objDataReader["usersite"]); face.SelectedItem.Text=Convert.ToString(objDataReader["userface"]); } 大家可以看到我们首先是连接数据库然后打开,对于select的命令,我们申明一个OleDbCommand来执行之,然后再申明一个OleDbDataReader,来读取数据,用的是ExecuteReader(),objDataReader.Read()就开始读取了,在输出的时候我们要注意Text属性接受的只能是字符串,所以我们要把读出的数据都转化为字符串才行。 转换变量类型函数: 转换为字符串:Convert.ToString() 转换为数字:Convert.ToInt64(),Convert.ToInt32(),Convert.ToInt16() 是按照数字位数由长到短 转换为日期:Convert.ToDateTime() ________________________________________ dim objConnection as OleDbConnection dim objCommand as OleDbCommand dim objDataReader as OleDbDataReader objConnection=new OleDbConnection(Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath(strDb)) objCommand=new OleDbCommand("这里是SQL语句" , objConnection) objConnection.Open() objDataReader=objCommand.ExecuteReader() if objDataReader.Read() oicq.Text=Convert.ToString(objDataReader["useroicq"]) homesite.Text=Convert.ToString(objDataReader["usersite"]) face.SelectedItem.Text=Convert.ToString(objDataReader["userface"]) end if 其实大家比较一下C#和VB的语法,会发觉用C#似乎更加简单,教程里面我侧重C#,对于VB的代码我就不解释了。 下面说一下如果代码是读取SQL数据库,我们这样来转变 1、把代码开始的 <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.OleDb"%> 修改为 <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.SqlClient"%> 2、把代码里面所有申明的对象OleDb××变为Sql××就这么简单 你甚至可以用替换所有来解决,所以今后我讲不再列出Sql Server的代码了。 今天就说到这里,明天开始说数据的添加、删除、修改。 十天学会ASP.net(7) 作者:佚名 阅读人次:6818 文章来源:未知 发布时间:2005-6-24 网友评论(4)条 第七天 学习目的:学会添加删除修改记录 以前我们在ASP中不管是添加还是删除记录或者用SQL语句加上EXECUTE()或者就是直接用RECORDSET的NEW、DELETE、UPDATE等方法来添加删除修改记录。在ASP.NET里面我们采用SQL语句加上COMMAND对象来执行SQL语句的方法来添加删除修改记录。这比上次说的读取记录还简单。实际上只有一点区别,把ExecuteReader()修改为ExecuteNonQuery()即可,因为我们不需要返回值啊。 string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath(strDb); OleDbConnection objConnection=new OleDbConnection(strConnection); OleDbCommand objCommand = new OleDbCommand("这里是SQL语句" , objConnection); objConnection.Open(); OleDbDataReader objDataReader=objCommand.ExecuteNonQuery(); ________________________________________ dim objConnection as OleDbConnection dim objCommand as OleDbCommand objConnection=new OleDbConnection(Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath(strDb)) objCommand=new OleDbCommand("这里是SQL语句" , objConnection) objConnection.Open() objDataReader=objCommand.ExecuteNoQuery() 下面再举例子说明一下SQL语句(ACCESS): 添加记录: insert int o 表名 (字段1,字段2) values (字符串1,字符串2) where 条件 删除记录: delete from 表名 where 条件 修改记录: update 表名 set 字段1=××,字段2=×× where 条件 需要特别注意,如果是Sql Server删除记录是delete 表名,不需要再加from了。 今天就说到这里了,明天说ASP.NET里面最著名的DATAGRID。 十天学会ASP.net(8) 作者:佚名 阅读人次:6674 文章来源:未知 发布时间:2005-6-24 网友评论(7)条 第八天 学习目的:初步掌握DATAGRID的使用 以前在ASP中,我们显示大批量数据经常使用循环读取记录集的方式,在表格中插入代码来显示,循环的是,如果是分页还需要自己制作,如果排序更加复杂,在ASP.NET中就好了,一切工作都可以让DATAGRID来做。 首先看一下DATAGRID的样式方面的属性 BackImageUrl="" 背景图片 CellSpacing="" 单元格间距 CellPadding="" 单元格填充 cssClass="" 使用的CSS样式 DATAGRID可以自动用表中的字段名放在显示的记录的头部来表示各个单元格所代表的意义,用ShowHeader="true/false"来控制是不是显示,在大多数情况下我们是不需要这个功能的,因为我们数据库中的字段名大多是英文的,而我们想在页面输出的大多是中文名字。 下面看一下显示数据库内所有记录,就几行代码: <script runat="server" language="c#"> void Page_Load() { string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath("guestbook.mdb"); OleDbConnection objConnection=new OleDbConnection(strConnection); OleDbCommand objCommand1 = new OleDbCommand("select * from guestbook",objConnection); objConnection.Open(); dgrdMain.DataSource=objCommand1.ExecuteReader();//dgrdMain就是下面的DATAGRID的ID dgrdMain.DataBind(); objConnection.Close(); } 至于VB的版本,这次大家自己来试试吧:) 假设数据库是三个字段:id,aa,bb 显示的样子就如下: id aa bb 1 werwe rewrwe 2 werwe rewrwe 我们一定觉得这种显示不满意,我们有两种显示的方式(需要包括在中间): 一、默认的列,我们可以选择不输出所有的字段还可以安排顺序: 比如说我们想按照bb,aa来输出这个表,我们这么写 注意使用了autogeneratecolumns="false"以后DATAGRID就不会自动输出所有字段了。 二、以模板列,我们可以定制每一个单元格的样式: 中间是一个表格,想怎么样就怎么样 或许你们要说怎么在表格中输出代码那,可以使用<%# DataBinder.Eval(Container.DataItem,"字段名").ToString()%> 下面看一个例子,我们所要做的就是把aa,bb两个字段放在一个单元格内显示,就好像下面一样: 1 werwe rewrwe 2 werwe rewrwe 我们这样写代码: 首先使用默认的显示方式显示ID 再使用模板来显示后面一列(由AA,BB并列组成)
<%# Container.DataItem("aa")%>
<%# Container.DataItem("bb")%>
今天就说到这里,明天我们来看一下DATAGRID的分页显示等功能 十天学会ASP.net(9) 作者:佚名 阅读人次:5514 文章来源:未知 发布时间:2005-6-24 网友评论(7)条 第九天 学习目的:学会用DATAGRID分页显示 虽然说DATAGRID的分页显示效率不怎么高,但是不管怎么说,它是最方便的分页显示,对于做一个留言簿还是相当简单实用的。对于启用分页功能还有一个重要要求,只能在DATADRID控件的数据源实现了ICOLLECTION接口的情况下才能启用分页功能,而DATAREADER没有这个接口,所以必须使用DATATABLE来代替。 <script runat="server" language="c#"> void Page_Load() { string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath("guestbook.mdb"); OleDbConnection objConnection=new OleDbConnection(strConnection); OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection); DataSet objDataSet=new DataSet(); objDataAdapter.Fill(objDataSet); dgrdMain.DataSource=objDataSet; dgrdMain.DataBind(); } void dgrdMain_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e) { dgrdMain.CurrentPageIndex = e.NewPageIndex; DataBind(); } ________________________________________ <script runat="server" language="vb"> subPage_Load dim objConnection as OleDbConnection dim objDataAdapter as OleDbDataAdapter dim objDataSet as DataSet objConnection=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("guestbook.mdb")) objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection) objDataSet=new DataSet objDataAdapter.Fill(objDataSet) dgrdMain.DataSource=objDataSet dgrdMain.DataBind() end sub sub dgrdMain_PageIndexChanged(sender as object,e as datagridpagechangedeventargs) dgrdMain.CurrentPageIndex = e.NewPageIndex DataBind end sub 这样就是最简单的分页,我们可以用参数pagestyle-mode="nextprev/numericpages"来设定是显示上一页、下一页方式还是直接选择页面的数字方式来实现页面跳转。如果是前者我们可以用pagestyle-nextpagetext来设定包含下一页链接的文本,用pagestyle-prevpagetext来设定包含上一页链接的文本;如果是后者我们可以用PagerStyle-PageButtonCount来设定在使用省略号之前显示的页面编号数量(默认是10) 今天就说到这里,明天说一下SESSION和COOKIE。 十天学会ASP.net(10) 作者:佚名 阅读人次:5305 文章来源:未知 发布时间:2005-6-24 网友评论(8)条 第十天 学习目的:学会SESSION和COOKIE的使用 在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSION和COOKIE。在ASP.NET中使用COOKIE比ASP中稍微麻烦一点,因为我们要申明变量。 首先看一下SESSION的使用,基本和ASP差不多 写入一个SESSION: Session["username"])="aa"; ________________________________________ Session("username")="aa" 读取一个SESSINN: string username= Session["username"]; ________________________________________ dim username=Session("username") 再来看一下COOKIE的写入: DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间 HttpCookie mycookie=new HttpCookie("logname");//申明新的COOKIE变量 mycookie.Value="aa";//赋值 mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//设定过期时间为1天 Response.Cookies.Add(mycookie1);//写入COOKIE ________________________________________ dim dt as DateTime dt=DataTime.Now dim mycookie as HttpCookie mycookie=new HttpCookie("logname") mycookie.Value="aa" mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1)) Response.Cookies.Add(mycookie1) 看一下COOKIE的读取: HttpCookie mycookie=Request.Cookies["username"]; string username=mycookie.Value; ________________________________________ dim mycookie as HttpCookie mycookie=Request.Cookies["username"] dim string=mycookie.Value 到此《十天学会ASP.NET》结束了
本课程是PowerBI系列课程之DAX函数专题讲解,包含以下内容 1.  DAX函数基础知识什么是DAX函数数学函数:ABS、DIVIDE、MOD、RAND、ROUND、FIXED等日期和时间函数: CALENDAR、CALENDARAUTO、MONTH、YEAR、DATE、DT等信息函数:USERNAME、USERPRINCIPALNAME、HASONEFILTER、HASONEVALUE、ISFILTERED、ISCROSSFILTERED、ISINSCOPE、ISBLANK、SELECTEDMEASURE、SELECTEDMEASURENAME等逻辑函数:AND、OR、IF、IFERROR、SWITCH、TRUE、FALSE、COALESCE(官方文档含糊不清-结合实例)等关系函数:CROSSFILTER、RELATED、RELATEDTABLE等筛选器函数:FILTER、CALCULATE、ALL、ALLEXCEPT、ALLSELECTED、EARLIER、KEEPFILTERS、REMOVEFILTERS、SELECTEDVALUE、LOOKUPVALUE等父子函数:PATH、PATHCONTAINS、PATHITEM、PATHLENGTH等统计函数:AVERAGE、COUNT、MAX、MIN、SUM等迭代统计函数:AVERAGEX、COUNTX、MAXX、MINX、SUMX、RANKX等表函数: FILTERS 、ADDCOLUMNS、 SELECTCOLUMNS、 CROSSJOIN、 EXCEPT、 GENERATE、 GROUPBY、 SUMMARIZE、 SUMMARIZECOLUMNS、 TOPN、 TREATAS、 UNION、 VALUES、DISTINCT、DATATABLE、NATUALINNERJOIN、NATRUALLEFTOUTERJOIN等文本函数: EXACT、MID、 FIND、 LEN、 REPT、 LOWER、 UPPER、 UNICHAR等时间智能函数:DATEADD、DATESMTD、FIRSTDATE、LASTDATE、SAMEPERIODLASTYEAR等财务函数:2020.7之后发布的,和Excel中财务函数相似,网页和demo pbix简单介绍其他函数:BLANK、ERROR、IFERROR等 DAX函数初体验:Max、Sum、Divide、if、Values等值函数表函数以及表和列的概念DAX函数术语、语法、运算符DAX运算符和引擎中字母大小写问题DAX编程注释和快捷键DAX与Excel函数的共同点和区别(PPT)DAX、xmSQL与SQL表达式的区别(PPT)DAX函数的自学途径 2.  PowerBI中数据建模知识维度建模关系传递和交叉筛选器方向-理解表关系(1v1, 1vM, Mv1,MvM)两个方向上应用安全筛选器关闭关系自动检测新建计算列新建度量值新建计算表:辅助表(五种方式)、日历表数据类型讲解数据格式控制:%、$、千位分隔符、小数位、日期格式Format函数自定义数据格式Convert函数做数据类型转换解决中文数字单位 万 的显示问题Date和DT函数定义固定日期值显示和隐藏列DAX代码分析器阅读DAX表达式方法:从上至下、由内到外(注意Calculate的计算顺序)调试DAX表达式方法:分布输出或VAR输出3.  DAX函数原理 Vertipaq列式数据库原理理解度量值和计算列理解行上下文和筛选上下文:Calculate示意图行上下文中使用VAR替代EARLIERVAR变量在定义时的上下文中计算VAR变量是采用惰性计算(使用时计算)理解扩展表和RELATED函数理解数据沿袭Lineage 4.  开始感知DAX函数的强大DAX函数实现特殊符号的使用DAX函数实现切片器默认当前月或天DAX函数使切片器默认代表无任何选择DAX函数使切片器仅显示有数据的选项DAX函数使切片器反向筛选和计算DAX函数使切片器之间取并集DAX函数使关系中多端的切片器筛选一端的切片器 DAX函数实现年月共同决定数据排序DAX函数实现动态图表标题DAX函数实现动态图表配色和图标DAX函数实现动态纵坐标DAX函数实现动态横坐标5.  理解重点DAX函数重中之重FILTER 和 CALCULATE和CALCULATETABLE详解调节器REMOVEFILTERS和ALL、ALLEXCEPT函数调节器ALL、ALLSELECTED和ISINSCOPE占比分析调节器AllSELECTED和KEEPFILTERS的比较调节器USERELATIONSHIP激活关系调节器TREATAS动态建立关系调节器CROSSFILTER改变筛选器方向重点之ISFILTERED和ISCROSSFILTERED重点之HASONEVALUE和ISINSCOPE的区别重点之表函数SELECTEDCOLUMNS和ADDCOLUMNS重点之表函数NATUALINNERJOIN和NATRUALLEFTOUTERJOIN重点之表函数FILTERS和VALUES比较重点之VALUES和DISTINCT的区别重点之分组函数SUMMARIZECOLUMNS详解重点之函数LOOKUPVALUE vs RELATED vs VLOOKUP 重点之集合函数UNION、INTERSECT、EXCEPT重点之集合函数CROSSJOIN和GENERATE 笛卡尔积重点之值合并、列合并、表合并CONCATENATEX重点之BLANK行产生的原因和BLANK相关函数重点之COALESCE函数处理空重点之FIRSTNOBLANK和FIRSTNOBLANKVALUE函数重点之使用VAR变量表中的列重点之Error和IfError函数6.  实际案例-日期时间和时间智能相关关键点-日期表和事实表关联问题时间智能-同比环比分析时间智能-累计聚合、滚动聚合、移动平均时间智能-期初期末库存分析日期分析-计算任意所选月份的环比日期分析-周的同比环比和周聚合日期分析-指定月份的同比环比和季度环比日期分析-计算季末或季末月份的数据日期分析-趋势图中根据最近月份取TopN日期分析-动态指定某个日期区间分析日期分析-动态任意区间段做数据对比日期分析-实现两个日期列的范围筛选日期分析-按工作日计算日期差日期分析-计算最近两次购买日期差日期分析-根据历史数据做销售预测日期时间函数和时间智能函数使用总结7.  实际案例-DAX函数进阶进阶-解决列排序对计算的影响进阶-实现切片器筛选之间的OR逻辑进阶-矩阵Matrix中高亮显示最大值最小值进阶-DAX列转行 vs 矩阵列转行和逆透视进阶-非日期类型的累计聚合进阶-排名逻辑的4种实现-RANKX详解进阶-分组内排名的实现和理解迭代函数进阶-TopN/BottomN和Others的实现进阶-TopN中实现动态指标进阶-TopN中实现N的动态进阶-分组内动态TopN和Others 进阶-商品折上折-迭代函数SUMX详解 进阶-分析客户购买行为进阶-找出无购买行为的客户进阶-客户购买商品关联度分析 进阶-新客户分析进阶-流失客户分析进阶-回流客户分析进阶-客户购买频次和区间分析进阶-RFM客户价值分析进阶-帕累托分析进阶-盈亏平衡分析报表性能优化思路(PPT)  
2-2-3引用NameSpace 引用设定 引用之后 2-2-4关于变量 声明及使用 生存周期及传递 变量传递予DHTML 2-3写给ASP开发人员 2-3-1 ASP的物件 2-3-2了解NameSpace 2-3-3 Server的事件及执行位置 2-3-4数据定义的改变 2-4使用Visual Studio.NET 2-4-1集成的开发环境 2-4-2工程处理 检视各项数据及辅助工具 引用数据 加入控件或文件 专案属性 建立资料存取环境 第三章表单基本设计 3-1 HTML Control 3-1-1在网页动态显示图片 3-1-2上传文件 3-1-3动态产生表格列及单元格 3-2 WebControl 3-2-1使用月历执行查询 3-2-2使用验证规则 3-2-3使用组合方块 3-2-4使用选项组 3-2-5取得及显示控制项之值 3-3事件处理 3-3-1物件及事件 属性、方法及事件的继承 关于Overrides 事件程序的参数 3-3-2 PostBack的设计 Page_Laod事件 AutoPostBack属性 3-3-4 HTML控制项的事件 3-4表单流程控制及设计 3-4-1使用表单的第一件事 3-4-2关于Form标记 3-4-3关于Page物件 判断及取得控制项 动态新增控制项 产生前端处理语法 3-4-4表单流程设计 浏览另一页 传递条件 第四章以Visual Studio.NET开发Web应用系统 4-1 Visual Studio.NET与Web 4-1-1有关Web的专案 4-1-2关于Web应用系统 专案位置 使用多个Web Application专案 Web Application专案属性 离线作业及权限设定 测试及执行 使用及执行范例 4-2使用Config 4-2-1可使用的标记 取得浏览器资讯 记录字串 自订标记 使用Configuration Viewer 4-2-2 Config.web的位置 4-3 Global.asax 4-3-1 Global.asax的内容 4-3-2 Global.asax的位置 4-4其他组件 4-4-1关于Reference 4-4-2使用样式表 定义样式 在网页引用样式 4-4-3新增组件 4-5建立表单 4-5-1网页编辑模式 4-5-2控制项处理 新增控制项 属性设定 4-5-3撰写程式 Class的观念 继承的定义 取用事件 4-6封装及部署 4-6-1关于Build 4-6-2部署 加入部署项目 产生安装档 执行部署 第五章结合数据库基本设计 5-1结合数据库之前 5-1-1确定平台及数据库格式 5-1-2前端与后端的差别 5-2使用Access及SQL的重点 5-2-1系统规划概述 5-2-1使用Access的注意事项 5-2-2使用SQL Server的注意事项 5-2-3安全考量应有设计 Access文件的位置 SQL的超级使用者-sa 数据库连接-使用DSN 5-3 ASP.NET如何结合数据库 5-3-1关于ADO.NET 5-3-2与数据库无关的DataSet DataSet的内容 DateSet的来源(自行建立) DateSet的来源(取用数据库) 控制项结合DataSet 回存至来源 5-3-3没有Recordset 5-3-4取得记录的多种方法 5-3-5阵列的观念 5-4以Visual Studio.NET建立资料表单 5-4-1取得资料来源 连接至数据库 取得记录 5-4-2 DataSet处理 产生DataSet 连接网页及DataSet 5-4-3使用资料表单精灵 5-4-4 View的设计及取得 第六章资料表单设计(一)-使用DataGrid 6-1范例说明 6-1-1开发目的及内容 6-1-2 Access及SQL 执行安装 关于取得数据库的连接 6-2 DataGrid控制项 6-2-1编辑及储存 编辑及储存基本设计 编辑时锁定部份栏位 编辑时使用多种控制项 6-2-2新增设计 6-2-3删除设计 删除基本设计 批次删除 6-2-4分页设计 分页基本设计 使用数字 6-2-5排序设计 排序基本设计 使用多重栏位 第七章资料表单设计(二)-使用Repeater及DataList 7-1范例说明 7-1-1开发目的及内容 7-1-2 Access及SQL 执行安装 7-2实务设计范例 编辑及储存基本设计 编辑设计(显示在单一表单) 删除设计 分页设计 排序设计 7-3资料控制项整理说明 显示记录 可使用的Template Template的内容 DataGrid的Template 子控制项的寻找及取得 第八章其他资料表单设计 8-1单一表单 控制项的Tooltip 取得及显示记录 上下页切换 输入笔数及切换 编辑处理 新增处理 取消设计 储存设计 储存后的更新 8-2主子表单 8-2-1同页显示 操作及功能说明 主子表单的连结 编辑处理 自动计算的设计 子表单之新增处理 储存设计 8-2-2分页显示 主子表单的连结 使用HyperlinkColumn 子表单的新增及储存 8-3查询式表单 取得资料表 建立新DataTable 取得栏位及型态 新增准则 清除准则 执行筛选 第九章资料验证及格式 9-1资料验证 9-1-1资料验证实务范例 验证主索引 验证身份证号 验证Email 储存前检查 验证密码 9-1-2使用前端验证 9-1-3综合说明 可被验证的控制项 比对语法 9-2资料格式 9-2-1设定格式 使用DataFormatString 使用Format相关函数 9-2-2资料转换 Ctype函数 ToString Null的处理 避免错误的设计 第十章结构化设计 10-1使用Pagelet 10-1-1 Pagelet的基本架构 Pagelet的内容 引用Pagelet 10-1-2为Pagelet加入属性及方法 10-2 Pagelet的实务范例 10-2-1表头及表尾 10-2-2输入表单的辅助设计 DropDownlist 日期输入 10-2-3基本处理工具列 10-2-4清单方块选项传递 10-3自订NameSpace-物件类别 10-3-1 NameSpace的架构 NameSpace的基本形式 编译为DLL 引用自订NameSpace 10-3-2在Visual Studio.Net的处理 新增Web Control Library专案 编译处理 引用自订NameSpace 10-4自订Namespace-控制项 10-4-1关于Control的继承 10-4-2建立自订控制项 制作单一表单 撰写程式 第十一章跨越网际网路的WebService 11-1了解WebService 11-1-1服务的架构 11-1-2允许的资料型态 11-1-3由撰写至使用WebService 制作.asmx文件 撰写的注意事项 浏览.asmx 产生SDL 编译 引用 11-1-4在Visual Studio.NET的处理 制作及编译WebService专案 引用至WebApplication专案 11-2在Web Service使用数据库 11-2-1数据库处理 11-2-2引用至.aspx 取得回传的DataSet 回存及删除处理 第十二章进阶设计及其他相关课题 12-1 DataSet及XML 12-1-1写入至XML 12-1-2将筛选结果写入至XML 12-1-3读取XML 12-2使用CodeBehind 12-2-1 CodeBehind的设计 12-2-2 CodeBehind范例 引用程式档 程式档内容 12-3以Cookie管理使用者 12-3-1定义使用者 12-3-2认证处理 12-4 Session的管理 12-4-1规划Session 12-4-2 Session基本设定 网页与Session 在Config.web设定Session 12-4-3在Web Service使用Session 12-5传送Email 12-5-1制作发送Email之表单 12-5-2由数据库大量传送 第十三章成功案例 13-1讨论区 13-1-1数据库结构 13-1-2讨论区之操作 13-1-3流程设计 13-1-4登入设计 判断是否登入 回至Session 13-1-5切换类别及时间 多项属性定义 引用至网页 取得及显示类别 总笔数至结束日 自订事件 类别切换 13-1-6文章处理 显示文章 浏览文章 回覆及新增处理 上下周切换 13-2所见即所得-组合卫浴 13-2-1数据库结构 13-2-2操作说明 13-2-3重要设计说明 附录A除错处理 附录B追踪处理

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧