请问下面这句在C#里好用,但在VB.NET不好用,应该怎么改呀!简单!

tflb 2003-10-18 01:51:09
就是这句ds.Relations.Add("myrelation", ds.Tables["bigclass"].Columns["bigclassid"], ds.Tables["news"].Columns["bigclassid"])
在下面的c#中没有问题!
<script language="C#" runat="server">
public void Page_Load(object sender, EventArgs e)
{
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:/test/news.mdb");

// OleDbConnection conn = new OleDbConnection("provider=sqloledb;server=(local);database=news;uid=sa;pwd=tflbtest;");
OleDbDataAdapter da1 = new OleDbDataAdapter("select * from bigclass",conn);
OleDbDataAdapter da2 = new OleDbDataAdapter("select * from news n where newsid in (select top 5 newsid from news where bigclassid=n.bigclassid order by updatetime desc)",conn);

DataSet ds = new DataSet();

conn.Open();
da1.Fill(ds,"bigclass");
da2.Fill(ds,"news");
conn.Close();

ds.Relations.Add("myrelation", ds.Tables["bigclass"].Columns["bigclassid"], ds.Tables["news"].Columns["bigclassid"]);

parentDataGrid.DataSource = ds.Tables["bigclass"];
parentDataGrid.DataBind();

}
</script>
在VB中有问题,错误在下面
<script Language="VB" runat="server">

Sub Page_Load(sender As Object, e As EventArgs)
Dim conn as OleDbConnection
Dim da1,da2 as OleDbDataAdapter
Dim ds as DataSet
Dim strConn As String
strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.MapPath("./")&"data/news.mdb"
Conn = New OledbConnection(strConn)
da1 = new OleDbDataAdapter("select * from bigclass",conn)
da2 = new OleDbDataAdapter("select * from news n where newsid in (select top 5 newsid from news where bigclassid=n.bigclassid order by updatetime desc)",conn)

ds = new DataSet()

conn.Open()
da1.Fill(ds,"bigclass")
da2.Fill(ds,"news")
conn.Close()

ds.Relations.Add("myrelation", ds.Tables["bigclass"].Columns["bigclassid"], ds.Tables["news"].Columns["bigclassid"])


parentDataGrid.DataSource = ds.Tables["bigclass"]
parentDataGrid.DataBind()
end sub

</script>

编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。

编译器错误信息: BC30518: 重载决策失败,原因是没有可访问的“Add”可以用这些参数调用:

源错误:



行 23: conn.Close()
行 24:
行 25: ds.Relations.Add("myrelation", ds.Tables["bigclass"].Columns["bigclassid"], ds.Tables["news"].Columns["bigclassid"])
行 26:
行 27:

请指点一下,我哪里写错了,我是初学!先谢谢了!
...全文
88 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
tflb 2003-10-19
  • 打赏
  • 举报
回复
谢谢你,已经解决了,需要把46行的+改写成&,还有把"newsid"改写成"(newsid)"
tflb 2003-10-18
  • 打赏
  • 举报
回复
DataBinder.Eval:“System.Data.DataRow”不包含名称为 newsid 的属性。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: DataBinder.Eval:“System.Data.DataRow”不包含名称为 newsid 的属性。

源错误:


行 44: <asp:TemplateColumn HeaderText="Title">
行 45: <ItemTemplate>
行 46: <asp:hyperlink NavigateURL='newshow.aspx?newsid=<%# DataBinder.Eval(Container.DataItem,"newsid")%>'
行 47:
行 48:


还是那个错误
skyover 2003-10-18
  • 打赏
  • 举报
回复
<asp:hyperlink NavigateURL='newshow.aspx?newsid=<%# DataBinder.Eval(Container.DataItem,"newsid")%>'
46行改成这个。
tflb 2003-10-18
  • 打赏
  • 举报
回复
有newsid这个列
我在C#里也遇到这样的问题了,结果把"title"改写成"(\"title\")") 就好了,
在VB里不知道怎么改
skyover 2003-10-18
  • 打赏
  • 举报
回复
你的DataRow里没有newsid 这个列。
tflb 2003-10-18
  • 打赏
  • 举报
回复
up
tflb 2003-10-18
  • 打赏
  • 举报
回复
写成"Title"
“/test”应用程序中的服务器错误。
--------------------------------------------------------------------------------

DataBinder.Eval:“System.Data.DataRow”不包含名称为 newsid 的属性。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: DataBinder.Eval:“System.Data.DataRow”不包含名称为 newsid 的属性。

源错误:


行 44: <asp:TemplateColumn HeaderText="Title">
行 45: <ItemTemplate>
行 46: <asp:hyperlink NavigateURL='<%#"newshow.aspx?newsid="+DataBinder.Eval(Container.DataItem,"newsid")%>'
行 47: Text='<%# DataBinder.Eval(Container.DataItem,"title") %>'
行 48: runat="server"/>

skyover 2003-10-18
  • 打赏
  • 举报
回复
""Title"" ==> "Title"
tflb 2003-10-18
  • 打赏
  • 举报
回复
“/test”应用程序中的服务器错误。
--------------------------------------------------------------------------------

DataBinder.Eval:“System.Data.DataRow”不包含名称为 newsid 的属性。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: DataBinder.Eval:“System.Data.DataRow”不包含名称为 newsid 的属性。

源错误:


行 44: <asp:TemplateColumn HeaderText="Title">
行 45: <ItemTemplate>
行 46: <asp:hyperlink NavigateURL='<%#"newshow.aspx?newsid="+DataBinder.Eval(Container.DataItem,"newsid")%>'
行 47: Text='<%# DataBinder.Eval(Container.DataItem,"title") %>'
行 48: runat="server"/>

我在C#里也遇到这样的问题了,结果把改写成"(\"title\")") 就好了,
在VB里不知到怎么改我把它改写成""Title""提示说编译器错误信息: BC32017: 应为逗号、“)”或有效的表达式继续符
请在指点一下!!谢谢!!
skyover 2003-10-18
  • 打赏
  • 举报
回复
把 "(\"title\")") 改成"Title"就好了。
\是C#里的转义符。VB.net里不需要的。即使要也是用两个双引号来代替。
tflb 2003-10-18
  • 打赏
  • 举报
回复
先谢谢了,帮人帮到底吧!下面怎么改呀!
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。

编译器错误信息: BC32017: 应为逗号、“)”或有效的表达式继续符。

源错误:



行 44: <asp:TemplateColumn HeaderText="Title">
行 45: <ItemTemplate>
行 46: <asp:hyperlink NavigateURL='<%#"newshow.aspx?newsid="+DataBinder.Eval(Container.DataItem,"(\"newsid\")")%>'
行 47: Text='<%# DataBinder.Eval(Container.DataItem,"(\"title\")") %>'
行 48: runat="server"/>


skyover 2003-10-18
  • 打赏
  • 举报
回复
((DataRowView)Container.DataItem).Row.GetChildRows("myrelation")

这句话用VB是这样表示的:

Ctype(container.Dataitem,DataRowView).Row.GetChildRows("myrelation")
tflb 2003-10-18
  • 打赏
  • 举报
回复
先谢谢楼上的,上面的哪个错误已经改过来了,可是在datagrid里又有一个错误如下
这段代码在c#内好用,在vb里有问题如下
<form runat=server>
<asp:DataGrid id="parentDataGrid" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundColumn DataField="bigclassname" HeaderText="部门" />
<asp:TemplateColumn HeaderText="标题">
<ItemTemplate>
<asp:DataGrid id="childDataGrid" Width="380" runat="server" ShowHeader=false DataSource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("myrelation") %>' AutoGenerateColumns="false">
<Columns>

<asp:TemplateColumn HeaderText="Title">
<ItemTemplate>
<asp:hyperlink
NavigateURL='<%#"newshow.aspx?newsid="+DataBinder.Eval(Container.DataItem,"[\"newsid\"]")%>'
Text='<%# DataBinder.Eval(Container.DataItem,"[\"title\"]") %>'
runat="server"/>

<%# DataBinder.Eval(Container.DataItem,"[\"updatetime\"]") %>

</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>

编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。

编译器错误信息: BC30684: “DataRowView”是一个类型,不能用作表达式。

源错误:



行 39: <asp:TemplateColumn HeaderText="标题">
行 40: <ItemTemplate>
行 41: <asp:DataGrid id="childDataGrid" Width="380" runat="server" ShowHeader=false DataSource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("myrelation") %>' AutoGenerateColumns="false">
行 42: <Columns>
行 43:

skyover 2003-10-18
  • 打赏
  • 举报
回复
把[]改成()....分号去掉。定义变量也不同。

C#:
string s = ....
要变成dim s as string = ....
这是第六版的介绍《ASP.NET 4入门经典:涵盖C#VB.NET(第6版)》内容简介:ASP.NET是.NET Framework的一部分,用于构建内容丰富的动态Web站点。其最新的版本ASP.NET 4对上一版进行了许多改进,包括增强了Web窗体,并添加了jQuery的支持。《ASP.NET 4入门经典:涵盖C#VB.NET(第6版)》循序渐进,逐步讲解了如何使用ASP.NET 4构建内容丰富的Web站点,并提供了大量使用C#和VB的示例。通过实际动手练习,您将学到关于构建Web站点的第一手信息,同时能够深刻理解在浏览器中查看ASP.NET 4页面时,后台到底发生了什么。 这是第七版,也就是本源码书的介绍 The ultimate programming guide to ASP.NET 4.5, by popular author and Microsoft MVP Imar Spaanjaars Updated for ASP.NET 4.5, this introductory book is filled with helpful examples and contains a user-friendly, step-by-step format. Written by popular author and Microsoft ASP.NET MVP Imar Spaanjaars, this book walks you through ASP.NET, Microsoft's technology for building dynamically generated web pages. This edition retains the highly accessible approach to building the Planet Wrox website example, an online community site featuring product reviews, picture sharing, bonus content for registered users, and more. Contains the comprehensive guide to the latest technology additions to ASP.NET 4.5 Shows how to build basic ASP.NET web pages and configure their server Includes information on how to add features with pre-built server controls Reveals how to design pages and make them consistent Contains the information needed for getting user input and displaying data Beginning ASP.NET 4.5 in C# and VB uses Spaanjaars's distinct writing style to put you at ease with learning ASP.NET 4.5.

62,041

社区成员

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

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

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

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