CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

数据库插入问题()

楼主gragon(小鼠)2006-03-21 17:26:02 在 .NET技术 / ASP.NET 提问

请帮我看一下错在哪?,尤其是strSQL中的,"+@attname+","+@imgname+",该怎么写啊!  
   
  string   strSQL="Insert   Into   t_jszg_info(info_content,Last_EditTime,info_attname,info_picname,User_name)   Values('"+pinfo_content+"','"+pinfo_cratime+"',"+@attname+","+@imgname+",'"+pinfo_username+"')";  
  SqlCommand   sqlCmd=new   SqlCommand(strSQL,Cn);  
  if(attFile.PostedFile.ContentLength   >0)  
  {  
  sqlCmd.Parameters["@attname"].Value=pinfo_attname.ToString();  
   
  }  
  else    
  {  
  sqlCmd.Parameters["@attname"].Value=System.DBNull.Value;  
   
  }  
  if   (photoFile.PostedFile.ContentLength   >0)  
   
  {  
   
  sqlCmd.Parameters["@imgname"].Value=pinfo_imgname.ToString();  
   
  }  
  else    
  {  
  sqlCmd.Parameters["@imgname"].Value=System.DBNull.Value;  
   
   
  }  
   
  sqlCmd.ExecuteNonQuery(); 问题点数:30、回复次数:11Top

1 楼artak(甜葡萄)回复于 2006-03-21 17:31:57 得分 5

直接,@attname不要引号和加号了Top

2 楼dh20156(风之石)回复于 2006-03-21 17:35:36 得分 0

注意字段类型来应用不同的引用符号,如int直接用"+变量+",varchar则用单引号'"+变量+"',等等。Top

3 楼gragon(小鼠)回复于 2006-03-22 08:18:04 得分 0

我这两个字段都是VCHAR型的.我将前面的引号和加号去掉就报错.错误提示为:  
  此   SqlParameterCollection   中未包含带有   ParameterName“@attname”的   SqlParameter。    
  说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。    
   
  异常详细信息:   System.IndexOutOfRangeException:   此   SqlParameterCollection   中未包含带有   ParameterName“@attname”的   SqlParameter。  
   
  源错误:    
   
   
  行   202: else    
  行   203: {  
  行   204: sqlCmd.Parameters["@attname"].Value=System.DBNull.Value;  
  行   205:  
  行   206: }  
     
   
  Top

4 楼jkflyfox(飞狐)回复于 2006-03-22 08:41:13 得分 5

string   strSQL="Insert   Into   t_jszg_info(info_content,Last_EditTime,info_attname,info_picname,User_name)   Values('"+pinfo_content+"','"+pinfo_cratime+"',@attname,@imgname,'"+pinfo_username+"')";  
  SqlCommand   sqlCmd=new   SqlCommand(strSQL,Cn);  
  Top

5 楼gragon(小鼠)回复于 2006-03-22 08:46:33 得分 0

我改成了楼上这么写的.可是运行时会报:  
  此   SqlParameterCollection   中未包含带有   ParameterName“@attname”的   SqlParameter。  
  的错误Top

6 楼Anders_lt(突破渴望)回复于 2006-03-22 08:54:47 得分 20

你要先把@attname   加入到   SqlParameterCollection     中然后再执行  
  string   strSQL="Insert   Into   t_jszg_info(info_content,Last_EditTime,info_attname,info_picname,User_name)   Values('"+pinfo_content+"','"+pinfo_cratime+"',@attname,@imgname,'"+pinfo_username+"')";  
  SqlCommand   sqlCmd=new   SqlCommand(strSQL,Cn);Top

7 楼gragon(小鼠)回复于 2006-03-22 09:08:26 得分 0

请问如何@attname   加入到   SqlParameterCollection     中?Top

8 楼pbwf(书生)回复于 2006-03-22 09:15:52 得分 0

楼主用的类似于存储过程那样的变量写法.多查一下这方面的东西.Top

9 楼gragon(小鼠)回复于 2006-03-22 09:20:07 得分 0

其实我的想法很简单.上传附件和图片,只是想如果有附件就写入附件的名称.如果没有就写入NULL到数据库.如果有更好的实现方法那就最好了Top

10 楼gragon(小鼠)回复于 2006-03-22 09:33:56 得分 0

问题解决了,谢谢突破渴望的方法.我先加进入就可以实现了.也谢谢大家Top

11 楼kent3721(Kent)回复于 2006-03-22 09:39:39 得分 0

这样设置参数就可以了:  
   
  arrparms[0]   =   new   SqlParameter("@XmlString",SqlDbType.NText);  
  arrparms[0].Value   =   arrParam[0].Replace(">\r\n",">");  
   
  arrparms[1]   =   new   SqlParameter("@SAPDoc_Type",SqlDbType.Char,2);  
  arrparms[1].Value   =   arrParam[1];  
   
  arrparms[2]   =   new   SqlParameter("@PostingDate",SqlDbType.Char,10);  
  arrparms[2].Value   =   arrParam[2];  
   
  arrparms[3]   =   new   SqlParameter("@CurrCode",SqlDbType.Char,3);  
  arrparms[3].Value   =   arrParam[3];  
   
  arrparms[4]   =   new   SqlParameter("@Exc_Rate",SqlDbType.Decimal);  
  arrparms[4].Value   =   Convert.ToDecimal(arrParam[4]);  
   
  arrparms[5]   =   new   SqlParameter("@Inv_Exch",SqlDbType.Decimal);  
  arrparms[5].Value   =   Convert.ToDecimal(arrParam[5]);  
   
  arrparms[6]   =   new   SqlParameter("@InvoiceRemark",SqlDbType.NText);  
  arrparms[6].Value   =   arrParam[6];  
  Top

相关问题

  • 数据库插入问题
  • 数据库插入问题??????
  • 数据库插入问题??
  • 数据库插入问题!!!
  • 数据库插入出错
  • 数据库插入问题
  • 插入数据库问题
  • 数据库插入操作
  • 数据库插入失败
  • asp数据库批量插入数据库???

关键词

  • attname
  • arrparm
  • pinfo
  • imgname
  • sqlcmd
  • sqlparametercollection
  • edittime
  • cratime
  • jszg
  • strsql

得分解答快速导航

  • 帖主:gragon
  • artak
  • jkflyfox
  • Anders_lt

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo