2012-04-17 2 views
0

в моем следующем коде я хочу вернуть данные null, если мой PictureBox (pbspic) имеет значение null else, если PictureBox (pbspic) содержит изображение, которое я хочу, чтобы данные возвращались байт, чтобы я мог сохранить нуль или фотографию в своей базе данныхкак вернуть null, если картинка поле имеет значение null else return picture byte

using (MemoryStream stream = new MemoryStream()) 
     { 
      Bitmap bmp = new Bitmap(pbspic.Image); 
      bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg); 
      stream.Position = 0; 
      byte[] data = new byte[stream.Length]; 
      stream.Read(data, 0, data.Length); 
      return data; 
     } 
cmd.Parameters.Add("@Photo", SqlDbType.VarChar).Value = data; 
dm2.ExecActQuery("StudentsInsert", cmd); 

ответ

1

попытка создания metthod вашего потока, а затем вызвать его картины, как этот

private byte[] GetPic(Image img) 
    { 
     using (MemoryStream stream = new MemoryStream()) 
     { 
      Bitmap bmp = new Bitmap(pbspic.Image); 
      bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg); 
      stream.Position = 0; 
      byte[] data = new byte[stream.Length]; 
      stream.Read(data, 0, data.Length); 
      return data; 
     } 
    } 

ИСПОЛЬЗОВАНИИ:

if (pbspic.Image == null) 
     { 
      cmd.Parameters.Add("@Photo", SqlDbType.VarChar).Value = "NULL"; 
     } 
     else 
     { 
      cmd.Parameters.Add("@Photo", SqlDbType.Image).Value = GetPic(pbspic.Image); 
     } 
     dm2.ExecActQuery("StudentsInsert", cmd); 
2

Вы пробовали что-то вроде следующего? :

else if(pbspic == null) /* Or it could be pbspic.Image == null, depends on which is null */ 
{ 
    ep.SetError(tbmonfee, "Image is missing."); 
    return; 
} 
else 
{ 
using (MemoryStream stream = new MemoryStream()) 
      { 
       Bitmap bmp = new Bitmap(pbspic.Image); 
       bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg); 
       stream.Position = 0; 
       byte[] data = new byte[stream.Length]; 
       stream.Read(data, 0, data.Length); 
      } 

if(data == null) /* Or check data length if it's never null */ 
{ 
    ep.SetError(tbmonfee, "Image is missing."); 
    return; 
} 
} 
+0

Вы можете переместить этот код на новую функцию и возвращать значения оттуда. Сказать, почему вы хотите вернуть значения из события нажатия кнопки? Вероятно, вы захотите установить какое-то сообщение на своей странице. В любом случае, если вы дадите мне знать, что вы хотите сделать, я могу помочь вам лучше :) –

+0

Вы имеете в виду, что вы пытаетесь отредактировать какое-то значение при событии нажатия кнопки и хотите показать сообщение пользователю, если изображение пуст? –

+0

правый коричневый. Я действительно хочу сохранить изображение в базе данных, если пользователь установил изображение в окне изображения. если пользователь не установил никакой картинки в окне изображения, чем я хочу сохранить null в моей базе данных, так как мой столбец изображения в базе данных также допускает нулевые значения. – kashif

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