问题描述
网站老是报某一列不属于该表,头都大了,不知道是什么原因啊?这个会不会是数据库配置的问题呢?就是数据库用户数?还有说是数据连接conn不要静态化?这个什么意思?我是用DLL里面封装数据库连接,我只需要传参数进去就行了。头都大了
解决方案
解决方案二:
这个只要对数据库一操作就报错,我看表里面也有该字段啊,在服务器上面也没办法跟踪
解决方案三:
哪报滴错啊,也没说,是执行SQL还是神马,要不你就哪错,上哪块的代码。
解决方案四:
症状不完整,是不是还有其实数据库明明存在这个列但是就是报错偶尔正常?如果是的话,优化你的数据库连接,不要使用静态标签其实不使用静态就恢复正常了数据库连接过于频繁导致的优化吧
解决方案五:
[img=http://b121.photo.store.qq.com/psb?/V137hDvB0so96u/SHWKC8IF4vJ5AN9pAjMBz3V5gR8Xf*AAPGaNmsXv5vw!/b/dApcJUgsCgAA&bo=ngIAAbs!][/img]
解决方案六:
就是上面哪个错,我的函数是:DimsqlAsStringsql="select*from"&tablename&"where"&where'Singledata3=sqlconn.Open()Ifconn.State=System.Data.ConnectionState.ClosedThenconn.Open()ElseIfconn.State=Data.ConnectionState.BrokenThenconn.Close()conn.Open()EndIfDimmydbdbAsWanXi.Db.IWanxiDbmydbdb=NewWanXi.Db.MsSQLDb(conn,tablename)DimdtAsData.DataTable=mydbdb.FindSQL("select*from"&tablename&"where"&where)DimiAsIntegeri=dt.Rows.CountIfi=0ThenSingledata3=""ElseIfIsDBNull(dt.Rows(0)(field))ThenSingledata3=""ElseSingledata3=dt.Rows(0)(field)EndIfEndIfmydbdb=Nothingdt=Nothingmydb=Nothing
解决方案七:
晕图片不行啊我连接是这样的:PublicconnAsData.SqlClient.SqlConnection=WanXi.Db.MsDbConn(".","YKTCMS","mksc","abc123!@#$")只是修改这参数真正连接是在Dll里面不使用静态什么意思啊?就是有时候可以有时候就报错
解决方案八:
仔细看看串拼的对吗
解决方案:
这种情况一般是你拼sql的时候有问题,
解决方案:
引用6楼的回复:
晕图片不行啊我连接是这样的:PublicconnAsData.SqlClient.SqlConnection=WanXi.Db.MsDbConn(".","YKTCMS","mksc","abc123!@#$")只是修改这参数真正连接是在Dll里面不使用静态什么意思啊?就是有时候可以有时候就报错
碰到过这样的错误一般都是超时或者请求访问次数过于频繁导致的,解决办法就是优化你的连接语句。放到配置文件里尽量少的打开和关闭数据库
解决方案:
“/”应用程序中的服务器错误。--------------------------------------------------------------------------------列“URL”不属于表。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.ArgumentException:列“URL”不属于表。源错误:行87:FieldList="URL,Text"行88:mydb=NewWanXi.Db.MsSQLDb(conn,tablename)行89:Response.Write(ListData(number,Modelstr,tablename,FieldList,mydb,where))行90:%>行91:源文件:D:WebSitemksc.cnindex.aspx行:89堆栈跟踪:[ArgumentException:列“URL”不属于表。]System.Data.DataRow.GetDataColumn(StringcolumnName)+1899263System.Data.DataRow.get_Item(StringcolumnName)+10Field.ListData(Int32number,StringModelstr,Stringtablename,StringFieldList,IWanxiDbmyDb,Stringwhere)+950ASP.index_aspx.__Render__control1(HtmlTextWriter__w,ControlparameterContainer)inD:WebSitemksc.cnindex.aspx:89System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriterwriter,ICollectionchildren)+2065835System.Web.UI.Control.RenderChildren(HtmlTextWriterwriter)+24System.Web.UI.Page.Render(HtmlTextWriterwriter)+26System.Web.UI.Control.RenderControlInternal(HtmlTextWriterwriter,ControlAdapteradapter)+25System.Web.UI.Control.RenderControl(HtmlTextWriterwriter,ControlAdapteradapter)+121System.Web.UI.Control.RenderControl(HtmlTextWriterwriter)+22System.Web.UI.Page.ProcessRequestMain(BooleanincludeStagesBeforeAsyncPoint,BooleanincludeStagesAfterAsyncPoint)+1896
解决方案:
conn用new出来的
解决方案:
把sql语句打印出来放数据库执行下看有没有问题一般这样的问题肯定是sql语句有问题的
解决方案:
SQL语句应该没问题,可能就像id270说的:一般都是超时或者请求访问次数过于频繁导致的,解决办法就是优化你的连接语句。放到配置文件里尽量少的打开和关闭数据库
解决方案:
拼的SQL语句很容易出问题,最好检查一下最终的SQl语句
解决方案:
很明显的问题,你SQL语句里面的列名在数据表中不存在,下个断点把报错的sql拿出来放到数据库中一查询就能够知道什么问题。
解决方案:
有可能是sql语句查询的表名不正确,所属字段不对应这个表,可以对照数据库查看是否字段和表匹配。或者是字段名错误,调试断点跟踪查看吧
解决方案:
报表么,我一般找个报表软件直接链接sql进行开发,比如finereport用着就不错,没报错过。
解决方案:
解决方案:
引用5楼fqcotory的回复:
就是上面哪个错,我的函数是:DimsqlAsStringsql="select*from"&tablename&"where"&where'Singledata3=sqlconn.Open()Ifconn.State=System.Data.ConnectionState.ClosedThenconn.Open()ElseIfconn.State=Data.ConnectionState.BrokenThenconn.Close()conn.Open()EndIfDimmydbdbAsWanXi.Db.IWanxiDbmydbdb=NewWanXi.Db.MsSQLDb(conn,tablename)DimdtAsData.DataTable=mydbdb.FindSQL("select*from"&tablename&"where"&where)DimiAsIntegeri=dt.Rows.CountIfi=0ThenSingledata3=""ElseIfIsDBNull(dt.Rows(0)(field))ThenSingledata3=""ElseSingledata3=dt.Rows(0)(field)EndIfEndIfmydbdb=Nothingdt=Nothingmydb=Nothing
你这个函数公用,查询出来的dt不尽相同,是否有些field不包含在dt里面有条件就单步调试一下,没条件就记录log监控一下dt的列是否包含field字段。
解决方案:
URL有这个列么?
解决方案:
应该是。sql语句的问题
解决方案:
断点过去看看最终的sql语句放到sql中去试试