C# 我在调试中遇到问题,我不知道';I don’我不知道原因是什么#
我有两张图片,第一张是关于产品的,第二张是关于产品条形码的。 我使用此代码创建产品C# 我在调试中遇到问题,我不知道';I don’我不知道原因是什么#,c#,sql,C#,Sql,我有两张图片,第一张是关于产品的,第二张是关于产品条形码的。 我使用此代码创建产品 private void button1_Click(object sender, EventArgs e) { string barcode = CMBIDCAT.Text+"345" + TXTIDP.Text +"012" ; Bitmap bitmap = new Bitmap(barcode.Length * 20, 50); using (Gra
private void button1_Click(object sender, EventArgs e)
{
string barcode = CMBIDCAT.Text+"345" + TXTIDP.Text +"012" ;
Bitmap bitmap = new Bitmap(barcode.Length * 20, 50);
using (Graphics graphics = Graphics.FromImage(bitmap))
{
Font ofont = new Font("code 128", 30);
PointF point = new PointF(2f, 2f);
SolidBrush blackbursh = new SolidBrush(Color.Black);
SolidBrush whitebursh = new SolidBrush(Color.White);
graphics.FillRectangle(whitebursh, 0, 0, bitmap.Width, bitmap.Height);
graphics.DrawString("*" + barcode + "*",ofont, blackbursh, point);
}
using (DataTable dt = new DataTable())
{
PIC2.Image = bitmap;
PIC2.Height = bitmap.Height;
PIC2.Width = bitmap.Width;
}
private void button3_Click(object sender, EventArgs e)
{
MemoryStream ms = new MemoryStream();
PIC1.Image.Save(ms, PIC1.Image.RawFormat);
byte[] byteImage = ms.ToArray();
MemoryStream st = new MemoryStream();
PIC2.Image.Save(st, PIC2.Image.RawFormat);
byte[] byteImage1 = st.ToArray();
prd.ADD_PRODUCT(Convert.ToInt32(CMBIDCAT.SelectedValue), TXTIDP.Text, TXTNMP.Text, Convert.ToInt32(TXTFP.Text), Convert.ToInt32(TXTSP.Text), Convert.ToInt32(TXTTP.Text), TXTDES.Text, Convert.ToInt32(TXTQTE.Text), byteImage, byteImage1);
MessageBox.Show("تمت الاضافة بنجاح ", "عملية الاضافة",MessageBoxButtons.OK , MessageBoxIcon.Information);
}
我怎么才能解决这个问题呢。我没有代表只发表评论。但是,您是否应该为第二张图像使用新的MemoryStream 根据MSDN,您不应该写入已写入的流 将代码更改为:
MemoryStream ms = new MemoryStream();
PIC1.Image.Save(ms, PIC1.Image.RawFormat);
byte[] byteImage = ms.ToArray();
MemoryStream ms1 = new MemoryStream();
PIC2.Image.Save(ms1, PIC2.Image.RawFormat);
byte[] byteImage1 = ms1.ToArray();
希望能奏效。:) > P>在调试格式或流时,确保哪一个值为NULL,并考虑使用内存流的“使用”语句,以便释放资源如下:
byte[] byteImage1;
using(MemoryStream ms = new MemoryStream())
{
PIC1.Image.Save(ms, PIC1.Image.RawFormat);
byteImage1 = ms.ToArray();
}
并考虑为每个图像使用两个内存流作为@提姆。E建议。< /P>在按钮1之前单击了按钮3。从inn按钮1单击事件开始,您在PIC2中分配了一些值。图像正确吗?此标题类似于“我不知道我在做什么,请帮助我!!!”。你想要实现什么?问题到底在哪里?“我的代码不起作用”不是一个描述。我使用按钮1为我的产品创建条形码,按钮3将我的产品的值保存到SQLDatabase的表中。我的意思是,在创建条形码之前,您可以尝试保存它。这是正确的还是我可能遗漏了一些东西请发布,而不是将代码作为注释发布。我尝试这样做会得到相同的结果