今天更改老程序的Bug,也就是SQL字符串的拼接的改成采用SqlParameter方式。

遇到了如题的问题,我的原因是由于 SqlParameterCollection中的一个SqlParameter没有指明的赋值,导致报异常。

//这样会报异常

new System.Data.SqlClient.SqlParameter("@photo", 0);
//这样不会报异常

SqlParameter sp = new System.Data.SqlClient.SqlParameter("@photo", SqlDbType.Bit);
sp.Value = 0;

很是气愤,算是。Net的一个BUG吧。