.net网站老是报列不属于该表
网站老是报某一列不属于该表,头都大了, 不知道是什么原因啊?这个会不会是数据库配置的问题呢?就是数据库用户数?还有说是数据连接conn不要静态化?这个什么意思?我是用DLL里面封装数据库连接,我只需要传参数进去就行了。头都大了 --------------------编程问答-------------------- 这个只要对数据库一操作就报错,我看表里面也有该字段啊,在服务器上面也没办法跟踪 --------------------编程问答-------------------- 哪报滴错啊,也没说,是执行SQL还是神马,要不你就哪错,上哪块的代码。 --------------------编程问答-------------------- 症状不完整,是不是还有 其实数据库明明存在这个列 但是就是报错
偶尔正常?
如果是的话,优化你的数据库连接,不要使用静态标签
其实不使用静态 就恢复正常了
数据库连接过于频繁 导致的 优化吧 --------------------编程问答-------------------- [img=http://b121.photo.store.qq.com/psb?/V137hDvB0so96u/SHWKC8IF4vJ5AN9pAjMBz3V5gR8Xf*AAPGaNmsXv5vw!/b/dApcJUgsCgAA&bo=ngIAAbs!][/img] --------------------编程问答-------------------- 就是上面哪个错,我的函数是:
Dim sql As String
sql = "select * from " & tablename & " where " & where
'Singledata3 = sql
conn.Open()
If conn.State = System.Data.ConnectionState.Closed Then
conn.Open()
ElseIf conn.State = Data.ConnectionState.Broken Then
conn.Close()
conn.Open()
End If
Dim mydbdb As WanXi.Db.IWanxiDb
mydbdb = New WanXi.Db.MsSQLDb(conn, tablename)
Dim dt As Data.DataTable = mydbdb.FindSQL("select * from " & tablename & " where " & where)
Dim i As Integer
i = dt.Rows.Count
If i = 0 Then
Singledata3 = ""
Else
If IsDBNull(dt.Rows(0)(field)) Then
Singledata3 = ""
Else
Singledata3 = dt.Rows(0)(field)
End If
End If
mydbdb = Nothing
dt = Nothing
mydb = Nothing --------------------编程问答-------------------- 晕 图片不行啊
我连接是这样的:
Public conn As Data.SqlClient.SqlConnection = WanXi.Db.MsDbConn(".", "YKTCMS", "mksc", "abc123!@#$")
只是修改这参数 真正连接是在Dll里面
不使用静态什么意思啊?就是有时候可以 有时候就报错 --------------------编程问答-------------------- 仔细看看串拼的对吗 --------------------编程问答-------------------- 这种情况一般是你拼sql的时候有问题, --------------------编程问答--------------------
碰到过这样的错误
一般都是超时或者请求访问次数过于频繁导致的,解决办法就是优化你的连接语句。放到配置文件里
尽量少的打开和关闭数据库 --------------------编程问答-------------------- “/”应用程序中的服务器错误。
--------------------------------------------------------------------------------
列“URL”不属于表 。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentException: 列“URL”不属于表 。
源错误:
行 87: FieldList = "URL,Text"
行 88: mydb = New WanXi.Db.MsSQLDb(conn, tablename)
行 89: Response.Write(ListData(number, Modelstr, tablename, FieldList, mydb, where))
行 90: %>
行 91:
源文件: D:\WebSite\mksc.cn\index.aspx 行: 89
堆栈跟踪:
[ArgumentException: 列“URL”不属于表 。]
System.Data.DataRow.GetDataColumn(String columnName) +1899263
System.Data.DataRow.get_Item(String columnName) +10
Field.ListData(Int32 number, String Modelstr, String tablename, String FieldList, IWanxiDb myDb, String where) +950
ASP.index_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in D:\WebSite\mksc.cn\index.aspx:89
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +2065835
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Page.Render(HtmlTextWriter writer) +26
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1896
--------------------编程问答-------------------- conn 用new出来的 --------------------编程问答-------------------- 把sql语句打印出来 放数据库执行下 看有没有问题 一般这样的问题 肯定是sql语句有问题的 --------------------编程问答-------------------- SQL语句应该没问题,可能就像id270说的:
一般都是超时或者请求访问次数过于频繁导致的,解决办法就是优化你的连接语句。放到配置文件里
尽量少的打开和关闭数据库 --------------------编程问答-------------------- 拼的SQL语句很容易出问题,最好检查一下最终 的SQl语句 --------------------编程问答-------------------- 很明显的问题,你SQL语句里面的列名在数据表中不存在,下个断点把报错的sql拿出来放到数据库中一查询就能够知道什么问题。 --------------------编程问答-------------------- 有可能是sql语句查询的表名不正确,所属字段不对应这个表,可以对照数据库查看是否字段和表匹配。
或者是字段名错误,调试断点跟踪查看吧
补充:.NET技术 , ASP.NET