各位好!我用C#编写windows应用程序,有问题如下:1、我要插入一条记录到数据库,(有姓名、年龄、照片等信息),当pictureBox的图片为空,表里的照片这列,我应该输入什么值;2、我要查询刚才照片列的值为空的纪录,结果应该在pictureBox上没有图片,这照片列的值我该怎么取得。
请帮我一下!
解决方案 »
- DataGridView的使用
- 求救啊,最近想做一个关于ftp下载的东西,C#语言
- 熟悉System.Management的朋友来帮帮忙,跪求一山寨方法 .内详.谢谢
- 子查询返回的值不止一个
- DataGridView的CellValidating事件的问题
- C# 串口通讯出现问题,立即结帖
- DataGridView,好难啊!
- 如何在c# winform 下连接SQL SERVER的OLAP多维数据集
- C#里有没有向VFP(学了很久了,好像是有这个函数)中的 & 一样宏代换
- 如何在DataGrid控件列中加上下拉组合框?
- 请问下成为一名设计人员应当具备哪些知识哪些能力?请大家指教,谢谢
- 准备写一篇工作流的文章,标题就是“数据流代替工作流解决方案”,请大家讨论一下工作流/数据流
oleDbCommand1.Parameters["pic"].Value = null;
else
oleDbCommand1.Parameters["pic"].Value = pictureBox1.Image;
2.保持默认.或者自定义一幅图片(表示无照片).
try
{
byte[] ima_bytes=null;
ConnectObject.OpenConnection();
string s="select TName,Photo from Tnbswmbb where TID='"+textBox6.Text.Trim()+"'";
SqlCommand cmd=new SqlCommand(s,ConnectObject.conn);
SqlDataReader rd=cmd.ExecuteReader();
if(rd.Read())
{
textBox5.Text=(string)rd.GetValue(0);
ima_bytes=(byte[])rd.GetValue(1);
} if(ima_bytes!=null)
{
//Read data
MemoryStream stream=new MemoryStream(ima_bytes,true);
stream.Read(ima_bytes,0,ima_bytes.Length); // Create a bitmap from the stream
Bitmap btmp = new Bitmap(stream); // Close the stream
stream.Close(); pictureBox1.Image=(Image)btmp;
}
else
{ pictureBox1.Image=null;
}
ConnectObject.CloseConnection();
}
catch(Exception ex2)
{
MessageBox.Show(ex2.Message);
if (ex2.InnerException != null)
MessageBox.Show(ex2.InnerException.Message);
}
finally
{
ConnectObject.CloseConnection();
}
当要查询刚才照片列的值为空的纪录(结果应该在pictureBox上没有图片),
出现异常:使用了无效参数。该怎么改啊
ima_bytes=(byte[])rd.GetValue(1);with
if( rd.GetValue(1) != DBNull.Value )
ima_bytes=(byte[])rd.GetValue(1);
还是出现异常:使用了无效参数。是不是跟当初pictureBox没有图片时插入那列的值不正确,没有图片应该插入什么值呢?
插入的部分代码如下:
if(pictureBox1.Image!=null)
{
string SQL1="INSERT INTO Tnbswmbb(Tcode,TName,TID,Photo) VALUES('"+num+"','"+textBox5.Text.Trim()+"','"+textBox6.Text.Trim()+"',@Photo)";
sqlCommand1=new SqlCommand(SQL1,ConnectObject.conn);
sqlCommand1.Parameters.Add( "@Photo", buffer);
//sqlCommand1.Parameters["@Photo"].Value=buffer;
}
else
{
byte[] buffer1=new byte[0];string SQL2="INSERT INTO Tnbswmbb(Tcode,TName,TID,Photo) VALUES('"+num+"','"+textBox5.Text.Trim()+"','"+textBox6.Text.Trim()+"',@Photo)";
sqlCommand1=new SqlCommand(SQL2,ConnectObject.conn);
sqlCommand1.Parameters.Add( "@Photo", buffer1);
}