作者:
kyo0010 (~KYO~)
2016-03-06 12:07:27最近發現使用ado.net 要insert內DB時,難字前要加N
EX:
insert into testDB Va,Vb values(N'塵蟎瀞',5566)
使用接字沒有問題
insert into testDB Va,Vb values(N'"+塵蟎瀞+"','"+5566"')
可是換成SqlParameter之後就不行了
有使用過的方式如下
方式1:
insert into testDB Va,Vb values(N@Va,@Vb)
SqlParameter[] parameters = {
new SqlParameter("@Va","塵蟎瀞" ),
new SqlParameter("@Vb",5566 )};
方式2:
insert into testDB Va,Vb values(N"+@Va+",@Vb)
SqlParameter[] parameters = {
new SqlParameter("@Va","塵蟎瀞" ),
new SqlParameter("@Vb",5566 )};
方式3:
insert into testDB Va,Vb values(@Va,@Vb)
SqlParameter[] parameters = {
new SqlParameter("@Va","N'塵蟎瀞'" ),
new SqlParameter("@Vb",5566 )};
以上方式都不行QQ 不是找不到參數就是DB的值會是 "N塵??"
也拜過GOOGLE大神了 也沒有找到資料
求知道的人幫忙解一下
作者: reichs 2016-03-06 13:10:00
insert into testDB Va,Vb values(@Va,@Vb)SqlParameter[] parameters = {new SqlParameter("@Va","塵蟎瀞" ),new SqlParameter("@Vb",5566 )};不用多此一舉自己加N,使用SqlParameter,ado.net會自己加N你可以用sql profiler攔截執行的sql看看