if (imgPicture.ImageUrl != null)
{
String strConn = "Data Source=TOSHI;Initial Catalog=prueba;Integrated Security=True";
SqlConnection conn = new SqlConnection(strConn);
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
string strQuery = "Insert into curriculum (imagen) values (@imgPicture)";
cmd.CommandText = strQuery;
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@imagen", imgPicture.ImageUrl);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
在cmd.parameters上我也试过
cmd.Parameters.Add("imagen", SqlDbType.VarChar).Value = imgPicture.ImageUrl;
但都没有效果
编辑:数据库中字段的名称是imagen,ASP上的图像字段是imgPicture
答案 0 :(得分:4)
您使用的参数名称错误。它应该是@imgPicture
,来自查询:
cmd.Parameters.AddWithValue("@imgPicture", imgPicture.ImageUrl);
<强>更新强>
根据对此问题的评论,我认为可以删除整个if
块的内容,您可以将以下内容放入主插页中:
cmd.Parameters.AddWithValue("@imgPicture", (imgPicture.ImageUrl == null ? (object)DBNull.Value : (object)imgPicture.ImageUrl));
您还需要将imagen添加到要在查询中插入的列列表的末尾,并将@imgPicture添加到参数中。
答案 1 :(得分:2)
不幸的是,这与asp.net无关,也与您的查询无关。
您的查询是:
Insert into curriculum (imagen) values (@imgPicture)
定义参数@imgPicture
。
然后您要添加一个名为@imagen
的参数(将被忽略),但更重要的是不添加参数@imgPicture
。
您确定不是cmd.Parameters.AddWithValue("@imgPicture", imgPicture.ImageUrl);
吗?
答案 2 :(得分:2)
您的查询是:
string strQuery = "Insert into curriculum (imagen) values (@imgPicture)";
您要将@imgPicture
声明为您的变量。
您需要在代码中使用该变量:
cmd.Parameters.Add("@imgPicture", SqlDbType.VarChar).Value = imgPicture.ImageUrl;