错误:不允许从数据类型varchar隐式转换为varbinary(max).使用CONVERT函数运行此查询
本文关键字:使用 max CONVERT 函数 查询 运行 varbinary 不允许 数据类型 varchar 转换 | 更新日期: 2023-09-27 17:58:14
这是我上传图像的程序:
protected void Button1_Click(object sender, EventArgs e)
{
string car_model = TextBox1.Text;
string car_brand = TextBox2.Text;
string car_type = TextBox3.Text;
int dist_travel = int.Parse(TextBox4.Text);
int mileage = int.Parse(TextBox5.Text);
string car_condition = TextBox6.Text;
string car_owner = TextBox7.Text;
string car_color = TextBox8.Text;
int car_price = int.Parse(TextBox9.Text);
if (FileUpload1.HasFile)
{
byte[] fdata = FileUpload1.FileBytes;
string con_string = @"data source=(local);initial catalog=Automobile;integrated security=true";
SqlConnection con = new SqlConnection();
con.ConnectionString = con_string;
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "Insert into vehicle_details values ('" + car_model + "','" + car_type + "','" + dist_travel + "','" + mileage + "','" + car_condition + "','" + car_owner + "','" + car_color + "','" + fdata + "','" + car_price + "')";
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
然后它抛出以下错误:
不允许从数据类型
varchar
隐式转换为varbinary(max)
。使用CONVERT
函数运行此查询。
数据库结构为car_model varchar、car_type varchar,dist_travel int、miley int、car_condition varchar、car_owner varchar、car_color varchar和fdata varbinary(MAX)、car_price varchar
您可能已经将fdata声明为byte[],但读取的代码部分
... + "','" + fdata + "','" + ....
正在将其强制转换为字符串,以便它可以成为命令文本的一部分
您将不得不参数化查询