当前位置:编程学习 > C#/ASP.NET >>

.net写入数据库,字段数据不完整!

程序是我买的一个,里边用  
              command.Parameters.Add("@SiteID", SqlDbType.Int).Value = movie.SiteID;
            command.Parameters.Add("@RemoteMovieID", SqlDbType.Int).Value = movie.RemoteMovieID;
            command.Parameters.Add("@RemoteUrl", SqlDbType.NVarChar, 260).Value = movie.Intro;
    command.Parameters.Add("@Intro", SqlDbType.NVarChar, 20).Value = movie.Intro;
写入数据库,但同一个数据库表里,同样的内容

remoteurl能完整的写进去,但intro字段只能写入50个汉字,我已经搜索了整个源代码,都没有认识关于50这两个数字的地方,数据库表设计里这两个字段也是一样的,请高手指点下吧!谢谢了!
--------------------编程问答-------------------- 是数据库字段长度问题。
可能因为一个汉字占两个字节。
而你的Url应该是英文的。
只能写入50个汉字是因为发生了二进制截断的程序错误 --------------------编程问答--------------------   command.Parameters.Add("@RemoteUrl", SqlDbType.NVarChar, 260).Value = movie.Intro; 
    command.Parameters.Add("@Intro", SqlDbType.NVarChar, 20).Value = movie.Intro; 
Parameters.Add的最后一个参数就好象就是长度限制,可以看到RemoteUrl的长度是260,Intro是20 --------------------编程问答--------------------  command.Parameters.Add("@Intro", SqlDbType.NVarChar, 20).Value = movie.Intro; 
=========>
长度只有20 --------------------编程问答-------------------- 你也可以看看movie所属的类的代码里面关于Intro的get,set函数 --------------------编程问答-------------------- 1. 首先检查movie.Intro的值是否正确
2. command是否调用存储过程?如果是的话,看存储过程中@RemoteUrl参数的长度定义是否正确,以及存储过程中是否有做字符分割处理
3. 数据表中是否有触发器对字段进行处理? --------------------编程问答-------------------- ding --------------------编程问答-------------------- 看走眼了,把@intro看成了@RemoteUrl
3楼正确 --------------------编程问答-------------------- command.Parameters.Add("@Intro", SqlDbType.NVarChar, 20).Value = movie.Intro --------------------编程问答-------------------- --------------------编程问答-------------------- 你的数据库的设置的长度也许只有50,以前我也出现过这样的错误. --------------------编程问答-------------------- 不用问,长度限制了你的存取~ --------------------编程问答-------------------- 不好意思,写错了,command.Parameters.Add("@Intro", SqlDbType.NVarChar, 20).Value = movie.Intro;
这句里边这个20其实也是260的,这个语句和command.Parameters.Add("@RemoteUrl", SqlDbType.NVarChar, 260).Value = movie.Intro;是一样的,但写入数据库的时候就截的只剩下50个了,感觉是长度限定了,但长度限定在哪里设置的呢?

整个代码里我都找了,没有限制的,数据库里限定?设计表里看到长度明明是260的. --------------------编程问答-------------------- boblaw,非常感谢,感谢楼上的回答,问题明白了,是存储过程的问题,谢谢了!我的电影搜索程序更好了!
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,