1、在打开【SQL Server Managemenet Studio】窗口,在【对象资源管理器】窗口依次站看【数据库】——【新建的数据库】节点。
2、鼠标右键单击【视图】节点,在d出的快捷菜单中选择【新建视图】命令。
3、从【添加表】对话框中选择建立新视图的基表,视图和函数。
4、根据新建视图的需要,从表中选择视图引用的列。可以再关系图中选中相应表的相应列左边的复选框来完成。
5、最后,在【视图设计器】窗口中单击工具栏中的【验证SQL语法】,按钮检查T-SQL语法。确认语法正确后,单击【执行 SQL】按钮预览视图返回的结果。
图片保存到数据库的方法:public void imgToDB(string sql)
{ //参数sql中要求保存的imge变量名称为@images //调用方法如:imgToDB("update UserPhoto set Photo=@images where UserNo='" + temp + "'")
FileStream fs = File.OpenRead(t_photo.Text)
byte[] imageb = new byte[fs.Length]
fs.Read(imageb, 0, imageb.Length)
fs.Close()
SqlCommand com3 = new SqlCommand (sql,con)
com3.Parameters.Add("@images", SqlDbType.Image).Value = imageb
if (com3.Connection.State == ConnectionState.Closed) com3.Connection.Open()
try
{
com3.ExecuteNonQuery()
}
catch { }
finally
{
com3.Connection.Close()
}
}
方法一:
private void ShowImage(string sql) {
//调用方法如:
ShowImage("select Photo from UserPhoto where UserNo='" + userno +"'")SqlCommand cmd = new SqlCommand(sql, conn)
conn.Open()
byte[] b= (byte[])cmd.ExecuteScalar()
if (b.Length 〉 0)
{
MemoryStream stream = new MemoryStream(b, true)
stream.Write(b, 0, b.Length)
pictureBox1.Image = new Bitmap(stream)
stream.Close()
}
conn.Close()
}
方法二:当在dg中选中某行时:
private void dg_MouseUp(object sender, MouseEventArgs e) {
//整行选择
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
//用户编号,姓名,性别,身份z号,籍贯,学院,系所,校区,部门,电话,照片
//显示相片
object imgobj=dg[10, dg.CurrentRow.Index].Value
if (imgobj != null &&!Convert.IsDBNull(imgobj))
{
byte[] imgb = (byte[])imgobj
MemoryStream memStream = new MemoryStream(imgb)
try
{
Bitmap myimge = new Bitmap(memStream) this.pictureBox1.Image = myimge
}
catch
{
DB.msgbox("从数据库读取相片失败!")
}
}
else
pictureBox1.Image = null
}
}
有很多方法做。比较简单的是在数据库里图片用二进制类型存储,pb里在数据窗口里插入一个oledb对象,与数据库字段挂钩就可以浏览图片了。如果你想把图片读到内存进行处理,那就要写程序了,涉及文件 *** 作(读、写),大对象 *** 作(长度计算、分割、截取)等,也不难,自己写写不用花多少时间。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)