近段工作技术小结:
1、尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。(原因系统是64位,oracle也是64位)
解决方法:
进行设置
此处改为false就行了
若是win28 64位系统,还有可能出现问题:HTTP 错误 404.3 - Not Found
1、System.Text.Encoding.Unicode.GetString();
和System.Text.Encoding.Unicode.GetString();的区别???
解决:参考网址:http://www.cnblogs.com/csharp4/archive/2010/06/22/1762717.html
Default是一字符一byte
Unicode是一字符两byte
2、C#调用C或者C++封装的dll中的方法的时怎么调用??
解决方法:
[DllImport("sehr.crypto.dll", SetLastError = true, EntryPoint = "EncodeVersion")]
public extern static int EncodeVersion();
其中EncodeVersion是C或C++中封装的方法名称(需要把封装的dll放在C盘system32或者system64目录下)
3、GridControl中增加复选框便于选择的功能实现?
① 添加复选框
② Checkbox的类型本来是bool类型,改为string类型,并且对选中和选不中分别赋值为1和0
③开始添加的复选框是半选状态,不让显示半选状态,需要修改属性:
④ 复选框添加到gridcontrol上,并且设置FieldName的值
⑤在gridcontrol外面增加全选的复选框
⑥给全选复选框添加CheckedChanged事件 选中是1,选不中是0
for (int i = 0; i < this.gridView1.RowCount; i++)
{
if (this.chkAll.Checked)
{
this.gridView1.SetRowCellValue(i, "ISCHECKED", 1);
}
else
{
this.gridView1.SetRowCellValue(i, "ISCHECKED", 0);
}
}
DataTable t = gridControl1.DataSource as DataTable;
1、拼接XML方法:
若第三方已经给出XML的格式(即节点已经固定,并且节点就是HIS中字段的名称,那么我们可以从电子病历中取数据的时候直接以HIS的字段名称来命为别名,便于拼接XML),把从电子病历中取出的数据放在DataTable(此处命为dtEmr)中,拼接如下:
//把取出来的数据转换为XML
foreach (DataRow dr in dtEmr.Rows)
{
StringBuilder sbXML = new StringBuilder();
for (int i = 0; i < dtEmr.Columns.Count; i++)
{
//获取列名
string strTemp = dtEmr.Columns[i].ColumnName;
//拼接XML
sbXML.Append("<" + strTemp + ">" + dr[strTemp] + "</" + strTemp + ">");
}
}