SqlCommand.Prepare method requires all variable length parameters to have an explicitly set non-zero Size
SqlCommand.Prepare method requires all variable length parameters to have an explicitly set non-zero Size
You can should add your parameter like this instead:
command.Parameters.Add(@"v1", SqlDbType.VarChar).Value = TextBox1.Text;
command.Parameters.Add(@"v2", SqlDbType.Int).Value = 0;
command.Parameters.Add(@"v3", SqlDbType.Int).Value = 0;
command.Parameters.Add(@"v4", SqlDbType.VarBinary).Value = FileUpload1.FileBytes;
command.Parameters.Add(@"v5", SqlDbType.VarChar).Value = TextBox3.Text;
command.Parameters.Add(@"v6", SqlDbType.VarChar).Value = TextBox4.Text;
command.Parameters.Add(@"v7", SqlDbType.VarChar).Value = TextBox5.Text;
command.ExecuteNonQuery();
conn.Close();
But personnaly I prefer to add my parameter like this:
cmd.Parameters.AddWithValue(@"v1", TextBox1.Text);
cmd.Parameters.AddWithValue(@"v2", 0);
cmd.Parameters.AddWithValue(@"v3", 0);
cmd.Parameters.AddWithValue(@"v4", FileUpload1.FileBytes);
cmd.Parameters.AddWithValue(@"v5", TextBox3.Text);
cmd.Parameters.AddWithValue(@"v6", TextBox4.Text);
cmd.Parameters.AddWithValue(@"v7", TextBox5.Text);
SqlCommand.Prepare method requires all parameters to have an explicitly set type
Instead of this:
cmd.Parameters.AddWithValue("@" + key, searchParams[key]);
you need to use something like this:
cmd.Parameters.Add("@" + key, SqlDbType.******).Value = searchParams[key];
You need to be able to somehow determine what datatype your parameters will have to be.
This can be something like:
SqlDbType.Int
for integer valuesSqlDbType.VarChar
for non-Unicode strings (don't forget the specify a length of the string!)SqlDbType.UniqueIdentifier
for Guids
etc.
Using AddWithValue
is convenient - but it leaves it up
to ADO.NET to guess the datatype, based on the value passed in. Most of
the time, those guesses are pretty good - but at times, they can be off.
I would recommend that you always explicitly say what datatype you want.
SqlCommand.Prepare method requires all parameters to have an explicitly set type
作者:Chuck Lu GitHub |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2018-02-08 我最在行 古诗词