插入到数据库 将别名更改为有效名称
本文关键字:有效 数据库 别名 插入 | 更新日期: 2023-09-27 18:37:21
>我有一个sql表,它有一个图像,我正在尝试在将图像转换为字节后插入图像...."我的插入"查询如下所示
INSERT INTO Member (F_NAME, L_NAME, D_O_B, UAE_ID_NO, MOBILE_NO, EMAIL_ID, REFERER, REF_CONTACT, ADDRESS, PICTURE) VALUES ('" + fname + "','" + lname + "','" + dob.ToShortDateString() + "','" + uaeid + "','" + mobile + "','" + emailid + "','" + reffere + "','" + refercontact + "','"+address+"',"+photo+")"
这里的图片是图像列...我使用以下方法将图像转换为字节数组
MemoryStream ms = new MemoryStream();
//save the image into memory stream
pBoxMember.Image.Save(ms, ImageFormat.Jpeg);
//assign the byte array with total size of memorystream
photo = new byte[ms.Length];
ms.Position = 0;
ms.Read(photo, 0, photo.Length);
return true;
但它给了我这个错误对象或列名称缺失或为空。对于 SELECT INTO 语句,验证每个列都有一个名称。对于其他语句,请查找空别名。不允许使用定义为 " 或 [] 的别名。将别名更改为有效名称。".
如果这应该有效,这应该看起来像这样:
var sql = "INSERT INTO Member (F_NAME, L_NAME, D_O_B, UAE_ID_NO, MOBILE_NO, " +
"EMAIL_ID, REFERER, REF_CONTACT, ADDRESS, PICTURE) " +
"VALUES ('" + fname + "','" + lname + "','" + dob.ToShortDateString() + "','" + uaeid + "','" + mobile + "','" + emailid + "','" + reffere + "','" + refercontact + "','" + address + "'," + photo + ")"
但是你应该使用SQL参数,比如:
string queryString = "INSERT INTO Member (F_NAME, L_NAME, D_O_B, UAE_ID_NO, ... VALUES(@fname ,@lname ....)";
SqlCommand cmd = new SqlCommand(queryString, dbConnection);
cmd.Parameters.AddWithValue("@fname",fname);
cmd.Parameters.AddWithValue("@lname",lname);
...
cmd.Parameters.AddWithValue("@blobParam",YourBytesArray);
...
cmd.ExecuteNonQuery();