工作中遇到的问题及解决办法(1)

时间:2021-01-09 15:28:34

近段工作技术小结:

1、尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。(原因系统是64位,oracle也是64位)

解决方法:

工作中遇到的问题及解决办法(1)

进行设置

工作中遇到的问题及解决办法(1)

此处改为false就行了

 

若是win28 64位系统,还有可能出现问题:HTTP 错误 404.3 - Not Found

解决办法:http://wenku.baidu.com/link?url=gCvqN0MZFmbF2v_bUfU6NQ8fgyCzIYrkbE9Y_6KSj8p8TwZCAsfTZhsrb7b-FpZqH3oj-BhH0ZZrU_dYY8716wYmEEBwhCLgsTiLaQAod0S

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中增加复选框便于选择的功能实现?

①    添加复选框

工作中遇到的问题及解决办法(1)

② Checkbox的类型本来是bool类型,改为string类型,并且对选中和选不中分别赋值为1和0

工作中遇到的问题及解决办法(1)

工作中遇到的问题及解决办法(1)

③开始添加的复选框是半选状态,不让显示半选状态,需要修改属性:

工作中遇到的问题及解决办法(1)

④ 复选框添加到gridcontrol上,并且设置FieldName的值

工作中遇到的问题及解决办法(1)

⑤在gridcontrol外面增加全选的复选框

工作中遇到的问题及解决办法(1)

⑥给全选复选框添加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 + ">");

                }             

       }