插入到数据库 将别名更改为有效名称

本文关键字:有效 数据库 别名 插入 | 更新日期: 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();