2010-5-17
67.sql参数写法
private const string sqlSelectListBycon_systemcode2 = @"select id,con_balancebill.bill_no, bill_code, bill_type, bill_date, bill_Money, fccode,exchrate,tr_note,accessories,createuser,uocode,update_datetime, b.relid from con_balancebill, (select distinct bill_no,relid,con_systemcode from con_tradepz {0})b {1} and con_balancebill.bill_no =b.bill_no";
sql = sqlSelectListBycon_systemcode2;
sWhere1 = "where con_systemcode = " + NG.Data.DB.DbConvert.ToSqlString(filter["#con_systemcode#"].ToString());
sql = string.Format(sql, sWhere1, sWhere1);
2010-5-21
68.反射调用取dll的方法
if (epmManager == "RankReportManager")//多维排名
{
dllPath = Path.Combine(Application.StartupPath + "//BPM//", "BPM.UIP.Analyse.dll");
className = "BPM.UIP.Analyse.ImportRankImage";
methodName = "GetRankImage";
}
object[] paras = new object[] { ccode, epmManager, epmName };
Assembly a = Assembly.LoadFrom(dllPath);
Type type = a.GetType(className);
if (type.GetMethod(methodName).IsStatic)
{
type.InvokeMember(methodName, BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Static, null, null, paras); }
else
{
MethodInfo method = type.GetMethod(methodName);
object Callobject = Activator.CreateInstance(type, true);
method.Invoke(Callobject, paras);
}
69.Byte[] 转成图片
System.IO.Stream ms = new System.IO.MemoryStream(bytes);
System.Drawing.Image img;
img = System.Drawing.Image.FromStream(ms);
ms.Close();
ms.Dispose();
this._curFrm.pictureBox1.Image = img;
this._curFrm.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
this._curFrm.pictureBox1.BorderStyle = BorderStyle.Fixed3D;
70.图片转成Byte[]
string pathImage = AppSessionConfig.PhysicalApplicationPath + "Report//Image//" + epmName + ccode + "//" + epmName + ccode + ".gif";
if (System.IO.File.Exists(pathImage))
{
FileStream filestream = new FileStream(pathImage, FileMode.Open, FileAccess.Read, FileShare.Read);
byte[] bytes = new byte[filestream.Length];
filestream.Read(bytes, 0, bytes.Length);
filestream.Close();
return bytes;
}
else
{
return null;
}
71.调用新的事件
RemoveToolStripItem_Click(new object(), new EventArgs());
72.根据byte[]生成目录生成Image并保存
string path = AppSessionConfig.PhysicalApplicationPath + "Report//Image";
if (!System.IO.Directory.Exists(path))
{
System.IO.Directory.CreateDirectory(path);
}
string pathImage = AppSessionConfig.PhysicalApplicationPath + "Report//Image//" + name;
if (!System.IO.Directory.Exists(pathImage))
{
System.IO.Directory.CreateDirectory(pathImage);
}
System.IO.MemoryStream ms = new System.IO.MemoryStream(bytes);
ms.Position = 0;
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
img.Save(pathImage + "//" + name + ".gif", System.Drawing.Imaging.ImageFormat.Gif);
ms.Close();
2010-5-31
73.添加一个用于执行计算的列
DataColumn vin = new DataColumn("Vin");
vin.Expression = "";
74.创建主键列
DataTable auto = new DataTable("Auto");
auto.PrimaryKey = new DataColumn[] { vin };
75.添加一行的其他方法
auto.Rows.Add("fff");
auto.LoadDataRow(new object[]{ "ffffgr"},LoadOption.OverwriteChanges);
76.DataRow行状态用法
DataTable dt = new DataTable();
dt.Columns.Add("dd",typeof(string)); // RowState
DataRow dr = dt.NewRow(); //Detached
dt.Rows.Add(dr); //Added
dr["dd"] = "dd"; //Added
dt.RejectChanges(); //Detached
dt.Rows.Add(dr); //Added
dt.AcceptChanges(); //Unchanged
dr["dd"] = "cc"; //Modified
dr.AcceptChanges(); //Unchanged
dr["dd"] = "aa"; //Modified
dt.RejectChanges(); //Unchanged
dr.Delete(); //Deleted
dt.RejectChanges(); //Unchanged
77.DataView 精确过滤
DataView dv = new DataView(auto);
dv.RowFilter = "";
dv.RowStateFilter = DataViewRowState.Deleted;
78.DataView 导出生成 DataTable
DataTable dd = dv.ToTable("dd",true,"vin");
79 DataSet 与二进制数据互换
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
DataSet ds = new DataSet();
FileStream fs = new FileStream(@"c:/ddd.bin",FileMode.Create);
BinaryFormatter fmt = new BinaryFormatter();
fmt.Serialize(fs,ds);
fs.Close();
DataSet ds = new DataSet();
FileStream fs = new FileStream(@"c:/ddd.bin",FileMode.Open);
BinaryFormatter fmt = new BinaryFormatter();
ds = (DataSet)fmt.Deserialize(fs);
fs.Close();
80. DataTableReader 用法
DataTableReader rd = new DataTableReader();
while (rd.Read()){
string ss = rd["dd"].ToString();}
rd.NextResult();
while (rd.Read())
string ee = rd["cc"].ToString();}