当前位置:编程学习 > C#/ASP.NET >>

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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,