C#winform做个考生准考证
请教大虾们,我要用winform的形式做2000个学生的准考证,能打印出来。普通字段好显示,可是就是照片字段不知道怎么做。参考网上的程序:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using CrystalDecisions.CrystalReports.Engine;
using System.IO;
using CrystalDecisions.Shared;
using System.Web;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
SqlConnection con = new SqlConnection("Data Source=localhost;Initial Catalog=bys2012;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter();
con.Open();
DataSet ds = new DataSet();
DataTable dt = new DataTable("bys");
ds.Tables.Add(dt);
dt.Columns.Add(new DataColumn("xm",Type.GetType("System.String")));
dt.Columns.Add(new DataColumn("xb",Type.GetType("System.String")));
dt.Columns.Add(new DataColumn("sfzh",Type.GetType("System.String")));
dt.Columns.Add(new DataColumn("image",Type.GetType("System.Byte[]")));
DataRow drow;
SqlCommand comm = new SqlCommand("select * from bys3406",con);
SqlDataReader dr = comm.ExecuteReader(CommandBehavior.CloseConnection);
while(dr.Read())
{
drow = dt.NewRow();
drow["xm"] = dr["xm"].ToString();
drow["xb"] = dr["xb"].ToString();
drow["sfzh"] = dr["sfzh"].ToString();
drow["image"] = GetImage(dr["image"].ToString());
dt.Rows.Add(drow);
}
dr.Close();
ReportDocument doc = new ReportDocument();
doc.Load(Server.MapPath("~/App_Data/CrystalReport.rpt"));
doc.SetDataSource(ds);
crystalReportViewer1 .ReportSource =doc;
}
private Byte[] GetImage(string FullPath)
{
byte[] byImage = null;
FileStream fs = new FileStream(Server.MapPath("~/upfile/prod/") + FullPath, FileMode.Open);
BinaryReader br = new BinaryReader(fs);
byImage= br.ReadBytes(Convert.ToInt32(br.BaseStream.Length));
fs.Close();
br.Close();
return byImage;
}
提示"上下文不存在名称server"改了后还是会有错。
请问我的思路是不是就是错的,有什么好的办法可以用吗,我的学生图片是按照身份证号以路径存放的 --------------------编程问答-------------------- 保存图片有2种方式,
1,把图片保存到图片位置,数据库记录图片的路径
2,直接把图片保存到数据库,,保存图片的字段类型是image --------------------编程问答-------------------- 图片的操作你可以以二进制字节数组的形式放到数据库中(sqlserver中有image类型,oracle中有blob类型),然后从数据库中读出来,显示到picturebox当中。
从数据库中读出来的显示的代码,参考:http://blog.csdn.net/chinacsharper/article/details/6538296 --------------------编程问答-------------------- 建议数据库中保存路径吧,设置专门的文件来放置图片好些,数据量大了不好整.
补充:.NET技术 , C#