就是上面哪个错,我的函数是: 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里面不使用静态什么意思啊?就是有时候可以 有时候就报错
要不你就哪错,上哪块的代码。
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里面不使用静态什么意思啊?就是有时候可以 有时候就报错
--------------------------------------------------------------------------------列“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
一般都是超时或者请求访问次数过于频繁导致的,解决办法就是优化你的连接语句。放到配置文件里
尽量少的打开和关闭数据库
或者是字段名错误,调试断点跟踪查看吧