使用try catch后,提示:被准备语句‘(@Company_id varchar(10),@company_name varchar(10),
@address varc'需要参数@company_name,但未提供该参数
请问这是怎么回事,是什么错误引起的呢

解决方案 »

  1.   

    try catch块中有数据库操作,但是数据库操作的(command)对象需要的参数(Par...)对象没提供;
    解决办法
    command.Parameters.add("@company_name",typeof(string));
    commabnd.parameters["@company_ame"].value=yourvalue
    OK
      

  2.   

    company_name 是有值的呀,而且也没有涉及到company_name 呀,只是用到了company_id
      

  3.   

    我遇到过同样的问题,当你的更新命令中 有要更新的字段参数(compnay_name = @compnay_name )
    而你要更新的 数据表(数据集中的) 中 不存在对应的字段 compnay_name 
    连种方法:
    1. 去除 (compnay_name = @compnay_name )2. 增加字段 compnay_name所以看楼主需要选择。楼主,还要注意检查 SQLCommand 命令( InsertCommand \ UpdateCommand ) 
    两者参数 不对应 即会产生该错误。
      

  4.   

    我找到原因了,是我将sqldataadapter是顺序弄错了,才出现的这个问题,改过来以后连原先出现的system。data。dll的问题也解决了,可是很奇怪,因为一开始出现system。data。dll的问题的时候,sqldataadapter的顺序并没有弄颠倒呀、