-3
Я хочу вставить pic в БД с процедурой и 3-уровневой ошибкой приклада в UI-уровне! У меня в моем проекте есть процедура, уровень доступа к данным и уровень бизнес-логики ... в коде Btn_Insert, значения ввода отправляются в params ... затем отправьте в SP!Вставить изображение (байт) в DB с 3-уровневым
это процедура Магазин:
ALTER PROCEDURE [dbo].[Agent_Insert]
@Agent NVARCHAR(MAX),
@Mob NVARCHAR(MAX),
@Pic IMAGE,
@Toz NVARCHAR(MAX)
AS
BEGIN
INSERT INTO Agent(Agent, Mob, Pic, Toz)
VALUES (@Agent, @Mob, @Pic, @Toz)
END
этот DAL Код:
public int Agent_Insert(string Agent, string Mob, byte Pic, string Toz)
{
var returnValue = 0;
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand dCmd = new SqlCommand("Agent_Insert", conn))
{
dCmd.CommandType = CommandType.StoredProcedure;
SqlParameter[] prms = new SqlParameter[4];
prms[0] = new SqlParameter("@Agent", SqlDbType.NVarChar);
prms[0].Value = Agent;
prms[1] = new SqlParameter("@Mob", SqlDbType.NVarChar);
prms[1].Value = Mob;
prms[2] = new SqlParameter("@Pic", SqlDbType.Image);
prms[2].Value = Pic;
prms[3] = new SqlParameter("@Toz", SqlDbType.NVarChar);
prms[3].Value = Toz;
dCmd.Parameters.AddRange(prms);
conn.Open();
returnValue = dCmd.ExecuteNonQuery();
conn.Close();
}
}
return returnValue;
}
этот BLL Код:
public class Agent_Bll
{
public int Insert(string Agent, string Mob, byte Pic, string Toz)
{
return new Agent_Dal().Agent_Insert(Agent, Mob, Pic, Toz);
}
public int Update(int Id, string Agent, string Mob, byte Pic, string Toz)
{
return new Agent_Dal().Agent_Update(Id, Agent, Mob, Pic, Toz);
}
public int Delete(int Id)
{
return new Agent_Dal().Agent_Delete(Id);
}
public DataTable Select()
{
return new Agent_Dal().Agent_Select();
}
}
и это мой код в виде:
public static byte[] ImageToByte(Image img)
{
ImageConverter converter = new ImageConverter();
return (byte[])converter.ConvertTo(img, typeof(byte[]));
}
private void Btn_Insert_Click(object sender, EventArgs e)
{
var result = 0;
try
{
result = new Agent_Bll().Insert(Txt_Agent.Text.Trim(), Txt_Mob.Text.Trim(), pictureBox1.Image(ImageToByte), Txt_Toz.Text.Trim());
Ошибка 210
приклад в: (не байт)
pictureBox1.Image(ImageToByte)
'..., ImageToByte (pictureBox1.Image), ....' – Steve
Попробуйте небольшой, воспроизводимый пример. Это, похоже, не имеет ничего общего с базой данных или 3-уровневым. Код в вашем обработчике кликов даже не будет компилироваться. –
..., ImageToByte (pictureBox1.Image), .... Это ошибка –