如何编译一个类呀?

nnh 2006-04-07 09:59:27
有一个新类,名为CSVHelper,它的源文件为:
CSVHelper.vb
===============
Public Class CSVHelper
Public Function Export(ByVal ds As DataSet, ByVal exportcolumnheadings As Boolean) As String
Dim header As String
Dim body As String
Dim record As String
If exportcolumnheadings Then
For Each col As DataColumn In ds.Tables(0).Columns
header = header & Chr(34) & col.ColumnName & Chr(34) & ","
Next
header = header.Substring(0, header.Length - 1)
End If
For Each row As DataRow In ds.Tables(0).Rows
Dim arr() As Object = row.ItemArray()
For i As Integer = 0 To arr.Length - 1
If arr(i).ToString().IndexOf(",") > 0 Then
record = record & Chr(34) & arr(i).ToString() & Chr(34) & ","
Else
record = record & arr(i).ToString() & ","
End If
Next
body = body & record.Substring(0, record.Length - 1) & vbCrLf
record = ""
Next
If exportcolumnheadings Then
Return header & vbCrLf & body
Else
Return body
End If
End Function
End Class

在web.aspx页的web.aspx.vb中是这样声明的:
Dim csv As New CSVHelper
Dim strData As String = csv.Export(ds, CheckBox1.Checked)

请问我要怎样做才可使用这个CSVHelper类呀?我在DOS提示符下用:
vbc /t:library /r:System.dll /r:System.Data.dll CSVHelper.vb

老是提示未定义类型dataset,datacolumn,datarow

谢谢了.
...全文
266 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ivony 2006-04-10
  • 打赏
  • 举报
回复
你是不是编译通不过?
编译的时候要加上/reference:你的那个DLL文件
编译完后,把DLL文件放到你网站的bin目录下就行了……
nnh 2006-04-10
  • 打赏
  • 举报
回复
帮帮忙呀.
nnh 2006-04-08
  • 打赏
  • 举报
回复
谢谢大家,我已成功生成.DLL文件了.

我还想问一下,如果不把CSVHelper.vb编译为.DLL文件,那怎么在web.aspx.vb文件中正常使用呢?谢谢.
bbdog 2006-04-08
  • 打赏
  • 举报
回复
没想到这样的一个问题,回复都中多是星星级的人物,更没想到的是,第一次见到钻石级(还是三颗)的人物出现,回贴留名,只当是和名人留影,汗~~~~~~
李洪喜 2006-04-08
  • 打赏
  • 举报
回复
问题解决了,该 给分了吧。
看来是高手,在命令行下编译
我现在还不会啊。有时间得学习一下。
SeeSunSet 2006-04-08
  • 打赏
  • 举报
回复
新建一个类库文件,把类代码复制进去,在里面进行调试编译,编译完了直接复制生成的DLL用就行了..不要有命令模式,出错几率太高了.
menuvb 2006-04-07
  • 打赏
  • 举报
回复
狂汗。竟然有人回复了:(
menuvb 2006-04-07
  • 打赏
  • 举报
回复
D:\VS.NET\UrlRewriter>vbc /target:library CSVHelper.vb /libpath:C:\WINDOWS\Micr
osoft.NET\Framework\v1.1.4322 /reference:System.Data.dll,System.dll,System.xml.d
ll

另外,你的代码也要修改一下,需要IMPORTS命名空间

Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.VisualBasic

Public Class CSVHelper
Public Function Export(ByVal ds As DataSet, ByVal exportcolumnheadings As Boolean) As String
Dim header As String
Dim body As String
Dim record As String
If exportcolumnheadings Then
For Each col As DataColumn In ds.Tables(0).Columns
header = header & Chr(34) & col.ColumnName & Chr(34) & ","
Next
header = header.Substring(0, header.Length - 1)
End If
For Each row As DataRow In ds.Tables(0).Rows
Dim arr() As Object = row.ItemArray()
For i As Integer = 0 To arr.Length - 1
If arr(i).ToString().IndexOf(",") > 0 Then
record = record & Chr(34) & arr(i).ToString() & Chr(34) & ","
Else
record = record & arr(i).ToString() & ","
End If
Next
body = body & record.Substring(0, record.Length - 1) & vbCrLf
record = ""
Next
If exportcolumnheadings Then
Return header & vbCrLf & body
Else
Return body
End If
End Function
End Class

成功编译通过
Ivony 2006-04-07
  • 打赏
  • 举报
回复
刚才没看清楚,原来你这不是一个aspx文件,那是需要手动添加
Imports System
Imports System.Data
Imports System.Data.SqlClient

如思归所说。
Ivony 2006-04-07
  • 打赏
  • 举报
回复
1.1还是2.0?没用过命令行编译器,也许要加上config文件的引用吧,似乎System.Data这些自动import的命名空间都是config文件里面设置的。
saucer 2006-04-07
  • 打赏
  • 举报
回复
do you have

Imports System
Imports System.Data
Imports System.Data.SqlClient

in your code?
computerclass 2006-04-07
  • 打赏
  • 举报
回复
我是新手,帮你顶顶

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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