2013-07-25 2 views
0

Я храню изображения в базе данных в таблице test (id, name, image), читая изображения из окна с картинками.Вставка и обновление изображения в sql

Это мой код:

private void browse_Click(object sender, EventArgs e) 
{ 
    OpenFileDialog openFileDialog1 = new OpenFileDialog(); 
    openFileDialog1.Filter = "(*.BMP;*.JPG;*.GIF;*.JPEG;*.PNG)|*.BMP;*.JPG;*.GIF;*.JPEG;*.PNG"; 
    if (openFileDialog1.ShowDialog() == DialogResult.OK) 
    { 
     imgloc = openFileDialog1.FileName.ToString(); 
     pictureBox1.ImageLocation = imgloc; 
    } 
} 

private void save_Click(object sender, EventArgs e) 
{ 
    byte[] img = null; 
    FileStream fs = new FileStream(imgloc, FileMode.Open, FileAccess.Read); 
    BinaryReader br = new BinaryReader(fs); 
    img = br.ReadBytes((int)fs.Length); 
    SqlConnection CN = new SqlConnection(constring); 
    string Query = "insert into test (id,name,image) values('" + txtid.Text + "','" + txtname.Text + "',@img)"; 
    CN.Open(); 
    cmd = new SqlCommand(Query, CN); 
    cmd.Parameters.Add(new SqlParameter("@img", img)); 
    cmd.ExecuteNonQuery(); 
    CN.Close(); 
} 

Это работает, но я хотел бы знать, как использовать команду обновления здесь.

+0

вместо 'insert' use' UPDATE' query –

+0

Что вы имеете в виду под «командой обновления»? – Oscar

ответ

0

Ваш код и запрос должен быть таким:

SqlConnection CN = new SqlConnection(constring); 
string Query = "Update test Set [email protected],[email protected] where [email protected]" 
CN.Open(); 
cmd = new SqlCommand(Query, CN); 
cmd.Parameters.Add(new SqlParameter("@Image", img)); 
cmd.Parameters.Add(new SqlParameter("@Name",txtname.Text)); 
cmd.Parameters.Add(new SqlParameter("@id",txtid.Text)); 
cmd.ExecuteNonQuery(); 
CN.Close(); 
2
private void update_Click(object sender, EventArgs e) 
    { 
     byte[] img = null; 
     FileStream fs = new FileStream(imgloc, FileMode.Open, FileAccess.Read); 
     BinaryReader br = new BinaryReader(fs); 
     img = br.ReadBytes((int)fs.Length); 
     SqlConnection CN = new SqlConnection(constring); 

     // this is a smaple query for update statement and update where [email protected] 
     string Query = "update test set [email protected],[email protected] where [email protected] "; 

     CN.Open(); 
     cmd = new SqlCommand(Query, CN); 
     cmd.Parameters.Add(new SqlParameter("@img", img)); 
     cmd.Parameters.Add(new SqlParameter("@id", txtid.Text)); 
     cmd.Parameters.Add(new SqlParameter("@name", txtname.Text)); 
     cmd.ExecuteNonQuery(); 
     CN.Close(); 
    } 
0

Просто удалите эту конкретную запись с помощью поля Id и Огню Сохранить запрос снова, если обновление трудно.

Смежные вопросы