首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

出了两个有关问题,帮我看看吧

2011-12-25 
出了两个问题,帮我看看吧第一个:publicpartialclassImage_TryNews2:System.Web.UI.Page{publicDataSetdsp

出了两个问题,帮我看看吧
第一个:
public   partial   class   Image_TryNews2   :   System.Web.UI.Page
{
     
      public   DataSet   ds;
      public   DataRow   dr;
      public     String   newsid;
        private     void   Page_Load(object   sender,   EventArgs   e)
        {
                SqlConnection   MyConnection;    
String   ConnStr,strCon;  
newsid   =   Request.Params[ "ID "];  
MyConnection   =new   SqlConnection( "Initial   Catalog=sol;Data   Source=hnu-a4cafe281e0\\sqlexpress;Integrated   Security=SSPI; ");  
MyConnection.Open();  
String   strCom=   "SELECT   Title   ,FromTo   ,Content,Counter   ,Time   FROM   TableNews1   where   ID= "+newsid;  
ds=   new   DataSet();  
SqlDataAdapter   myCommand=new   SqlDataAdapter(strCom,MyConnection);  
myCommand.Fill(ds, "TableNews1 ");  
dr   =   ds.Tables[ "TableNews1 "].Rows[0];  
strCon   = "SELECT   Counter   FROM   TableNews1   WHERE   ID   =   ' "+newsid+ " ' ";  
SqlCommand   myCommand2   =   new   SqlCommand(strCon,   MyConnection);  
SqlDataReader   reader   =   myCommand2.ExecuteReader();  
reader.Read();  
int   i   =   reader.GetInt32(0);  
i++;  
reader.Close();  
strCon   = "UPDATE   TableNews1   SET   Counter   =   "+i.ToString()+ "   WHERE   (   ID=   "+newsid+ ") ";  
myCommand2.CommandText   =   strCon;  
myCommand2.ExecuteNonQuery();  
MyConnection.Close();  
}  
        }

报错:
'= '   附近有语法错误。  
说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。  

异常详细信息:   System.Data.SqlClient.SqlException:   '= '   附近有语法错误。

源错误:  


行   29:   ds=   new   DataSet();  
行   30:   SqlDataAdapter   myCommand=new   SqlDataAdapter(strCom,MyConnection);  
行   31:   myCommand.Fill(ds, "TableNews1 ");  
行   32:   dr   =   ds.Tables[ "TableNews1 "].Rows[0];  
行   33:   strCon   = "SELECT   Counter   FROM   TableNews1   WHERE   ID   =   ' "+newsid+ " ' ";  
 
第二个

        ConnStr   =   "   SET       IDENTITY_INSERT   sol.dbo.TableNews1   on;   insert   into   TableNews1(Title,Content,Time,Image,Counter)   VALUES( ' "   +   biaoti.Text   +   " ',   ' "   +   zhaizi.Text   +   " ', "   +   neirong2   +   " ',   ' "   +   now.ToString()   +   " ',   ' "   +   img.Text   +   " ',   0)   ;SET       IDENTITY_INSERT   sol.dbo.TableNews1   off   ";  
MyCommand=new   SqlCommand(ConnStr,MyConnection);  


MyCommand.ExecuteNonQuery();  
Label1.Text= "增加成功! ";  
}  
biaoti.Text= " ";  
zhaizi.Text= " ";  
neirong.Text= " ";  
img.Text= " ";  
}
我一提交文章就报错:
在此上下文中不允许使用名称   "ds "。有效表达式包括常量、常量表达式和变量(在某些上下文中)。不允许使用列名。
字符串   ',   ',   0)   ;SET       IDENTITY_INSERT   sol.dbo.TableNews1   off   '   后的引号不完整。  
说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。  

异常详细信息:   System.Data.SqlClient.SqlException:   在此上下文中不允许使用名称   "ds "。有效表达式包括常量、常量表达式和变量(在某些上下文中)。不允许使用列名。
字符串   ',   ',   0)   ;SET       IDENTITY_INSERT   sol.dbo.TableNews1   off   '   后的引号不完整。

源错误:  


行   61:           ConnStr   =   "   SET       IDENTITY_INSERT   sol.dbo.TableNews1   on;   insert   into   TableNews1(Title,Content,Time,Image,Counter)   VALUES( ' "   +   biaoti.Text   +   " ',   ' "   +   zhaizi.Text   +   " ', "   +   neirong2   +   " ',   ' "   +   now.ToString()   +   " ',   ' "   +   img.Text   +   " ',   0)   ;SET       IDENTITY_INSERT   sol.dbo.TableNews1   off   ";  
行   62:   MyCommand=new   SqlCommand(ConnStr,MyConnection);  
行   63:   MyCommand.ExecuteNonQuery();  
行   64:   Label1.Text= "增加成功! ";  
行   65:   }  
 
谢谢!

[解决办法]
都是SQL EXCEPTION,用SQL Profiler跟踪下.
[解决办法]
调试,把你的ConnStr 的值放到查询分析其上去执行(断行较好,查询分析其可以告诉你错误在哪一行)。

另外,例如

+ biaoti.Text +

这种写法,如果不是程序有紧密相关的地方可以保证biaoti.Text中没有单引号,那么这种写法往往是不够认真的或者缺乏经验的。程序甚至可以写得烂,但是要认真,不认真的程序由于含义不全面则本人调试起来很难全面。这个应该写为

+ biaoti.Text.Replace( " ' ", " ' ' ") +

热点排行