我已经可以实现了将数据插入图片,但是我是做了一个注册信息的,每每我把信息和图片全部放入数据库,我的注册信息全部都在一列上,而我插入的图片去在另一列上这是为什么,如何写使得图片和我所有信息在一列上
这是我插入注册信息:
SqlConnection conn = new SqlConnection("Data Source=PC-20101010FXQD;Database=db_users;User ID=sa;PWD=123456;");
conn.Open();
string strsql = "insert into Users (UserName,PassWord,PassWord1,Phone,[E-Mail],Address,Age,Question1,Answer1,Question2,Answer2,Sex,QQ,Ip) values ('" + textName.Text + "','" + textPassWord.Text + "','" + textPassWord2.Text + "','" + textphone.Text + "','" + textName.Text + "','" + R_Address.Text + "','" + textAge.Text + "','" + texfpwd1.Text + "','" + textanswer1.Text + "','" + texfpwd2.Text + "','" + textanswer2.Text + "','" + Sex + "','" + txt_qq.Text + "','" + text_Ip.Text + "')";
SqlCommand cmd = new SqlCommand(strsql, conn);
cmd.ExecuteNonQuery();
conn.Close();
这是我插入图片: Stream ms;
byte[] picbyte;
openFileDialog1.Filter = "*.jpg,*jpeg,*.bmp,*.ico,*.png,*.tif,*.wmf|*.jpg;*jpeg;*.bmp;*.ico;*.png;*.tif;*.wmf";
openFileDialog1.Title = "选择头像";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
if((ms=openFileDialog1.OpenFile())!=null)
{
string Sql1;
picbyte = new byte[ms.Length];
ms.Position = 0;
ms.Read(picbyte, 0, Convert.ToInt32(ms.Length));
SqlConnection conn1 = new SqlConnection("Data Source=PC-20101010FXQD;Database=db_users;User ID=sa;PWD=123456;");
Sql1 = "insert into Users(photo) values (@photo)";
SqlCommand cmd1 = new SqlCommand(Sql1, conn1);
cmd1.Parameters.Add("@photo", SqlDbType.Image).Value = picbyte;
conn1.Open();
cmd1.ExecuteNonQuery();
conn1.Close();
ms.Close(); 我的意思是如何写SQL语句把我这两段代码中的INSERT放在一起,也就是说所有的信息和图片显示在一列上
这是我插入注册信息:
SqlConnection conn = new SqlConnection("Data Source=PC-20101010FXQD;Database=db_users;User ID=sa;PWD=123456;");
conn.Open();
string strsql = "insert into Users (UserName,PassWord,PassWord1,Phone,[E-Mail],Address,Age,Question1,Answer1,Question2,Answer2,Sex,QQ,Ip) values ('" + textName.Text + "','" + textPassWord.Text + "','" + textPassWord2.Text + "','" + textphone.Text + "','" + textName.Text + "','" + R_Address.Text + "','" + textAge.Text + "','" + texfpwd1.Text + "','" + textanswer1.Text + "','" + texfpwd2.Text + "','" + textanswer2.Text + "','" + Sex + "','" + txt_qq.Text + "','" + text_Ip.Text + "')";
SqlCommand cmd = new SqlCommand(strsql, conn);
cmd.ExecuteNonQuery();
conn.Close();
这是我插入图片: Stream ms;
byte[] picbyte;
openFileDialog1.Filter = "*.jpg,*jpeg,*.bmp,*.ico,*.png,*.tif,*.wmf|*.jpg;*jpeg;*.bmp;*.ico;*.png;*.tif;*.wmf";
openFileDialog1.Title = "选择头像";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
if((ms=openFileDialog1.OpenFile())!=null)
{
string Sql1;
picbyte = new byte[ms.Length];
ms.Position = 0;
ms.Read(picbyte, 0, Convert.ToInt32(ms.Length));
SqlConnection conn1 = new SqlConnection("Data Source=PC-20101010FXQD;Database=db_users;User ID=sa;PWD=123456;");
Sql1 = "insert into Users(photo) values (@photo)";
SqlCommand cmd1 = new SqlCommand(Sql1, conn1);
cmd1.Parameters.Add("@photo", SqlDbType.Image).Value = picbyte;
conn1.Open();
cmd1.ExecuteNonQuery();
conn1.Close();
ms.Close(); 我的意思是如何写SQL语句把我这两段代码中的INSERT放在一起,也就是说所有的信息和图片显示在一列上
解决方案 »
- 刚开始学c#,问一个低级问题
- 按钮的声音!!!!!!!
- 怎么取得DataGrid修改的值?(同时有多行)
- oledb 提供程序 msdasql 报错
- c++结构体到c#的问题(不好意思,没分了哈),高手请进!
- 如何用副窗口的关闭来关闭主窗口
- c# ppt监控翻页
- 关于sqlserver里数据类型和c#里数据类型的问题,谢谢
- @@@@@@@@@如何把byte[4]转换float,再把float转换成string?(只有这些分了,看着办吧)
- 有没有人知道怎么在一个treeview加背景图片啊?
- 尝试读取或写入受保护的内存。这通常指示其他内存已损坏
- 主窗体怎么引用 子窗体里 的 LISTBOX 或 LISTVEIW 里的数据?
你这又是拼接。。又是sql语句的。。太暴力了。。
终于看清题义了。。你把上面的insert语句。。再加个参数。。最后给参数赋值用sql参数化。后给参数赋值。。你现在估计矛盾就是在怎么给这个IMAGE类型的字段赋上值到sql语句中。。可以提取个方法返回byte[] picbyte
conn.Open();
string strsql = "insert into Users (UserName,PassWord,PassWord1,Phone,[E-Mail],Address,Age,Question1,Answer1,Question2,Answer2,Sex,QQ,Ip,photo) values (@UserName,@PassWord,@PassWord1,@Phone,@EMail,@Address,@Age,@Question1,@Answer1,@Question2,@Answer2,@Sex,@QQ,@Ip,@photo)";
SqlParameter[] sp = new SqlParameter[]
{
new SqlParameter("@UserName",textName.Text),
new SqlParameter("@PassWord",textPassWord.Text),
new SqlParameter("@PassWord1",textPassWord2.Text),
.....
//中间那么多就省略了,同样的写法
};
com.Parameters.AddRange(sp);
SqlCommand cmd = new SqlCommand(strsql, conn);
cmd.ExecuteNonQuery();
conn.Close();
//下面这块可以提取成一个方法,返回这个picbyte,在上面的参数集合中赋给photo参数
Stream ms;
byte[] picbyte;
openFileDialog1.Filter = "*.jpg,*jpeg,*.bmp,*.ico,*.png,*.tif,*.wmf|*.jpg;*jpeg;*.bmp;*.ico;*.png;*.tif;*.wmf";
openFileDialog1.Title = "选择头像";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
if((ms=openFileDialog1.OpenFile())!=null)
{
picbyte = new byte[ms.Length];
ms.Position = 0;
ms.Read(picbyte, 0, Convert.ToInt32(ms.Length));