ASP.NET

c# 关于反射 使用详细 示例

/// 
/// 批量删除指定类的对象
/// 2011-11-17 Aiice
/// 
///
需要删除数据对应的类名称 例如:ShippAddress
///
需要删除对象的ID对象组
/// 删除成功:ture 删除失败:false
private bool DeleteObject(string ClassName,object[] obj)
{
	bool result = false;
	string str = String.Empty;
	try
	{
		//需要反射类 对应的dll文件或exe文件
		string assFile = "D:/WebERP/BusinessData/bin/Debug/Smart.Component.BusinessData.dll";
		Assembly assembly =Assembly.GetExecutingAssembly();
		if(assFile!="")
		{
			assembly = Assembly.LoadFrom(assFile);
		}
		//把String的ClassName转换为对应Type
		Type t = 更多 >

System.Windows.Forms.TreeView 的使用示例

private System.Windows.Forms.TreeView menuTree;

/// 
/// 判断用户是否有权限操作该菜单
/// 2011-10-20 Aiice
/// 
public bool HasMenu(string code)
{
	cn.myeol.www.PosService  xmlService = new cn.myeol.www.PosService ();
	xmlService.Url=Global.g_WebServiceURL;
	string SQL = "SELECT * FROM RoleMenus WHERE CanView = 1 AND RoleID IN (SELECT RoleID FROM UserRoles WHERE UserID = (SELECT UserID FROM Users WHERE UserName = 更多 >

c# 反射应用

/* 利用反射动态载入form类
 * assFile对应的dll文件或exe文件
 * FormName类的全称 包括命名空间名称
 */
private void LoadForms(string assFile ,string FormName)
{
	Assembly assembly =Assembly.GetExecutingAssembly();
	if(assFile!="")
	{
		assembly = Assembly.LoadFrom(assFile);
	}
	Type t = assembly.GetType(FormName);
	Form fm = (Form)Activator.CreateInstance(t);//强制转换你想要的类
	fm.MdiParent =this;
	fm.Show();
}

通用 把DataSet保存到数据库对应的Table表

前段时间吧xml转化为dataset,现在需要把dataset保存到数据库了

1,创建一个table表 注意:字段和dataset里面的字段对应 否则就不能通用了

2,方法

/// 
/// 把DATASET保存到数据库中
/// 2011-09-15 艾宗兵
/// SysManager mManger 调用SQL对象
/// TableName 要把DataSet保存到表名称
/// XmlObjectName 节点名称
/// 
public static void SaveDataSetToDB(SysManager mManger,DataSet mRs,string TableName,string XmlObjectName)
{
	//获取架构
	mManger.Connection.Fill("SELECT * FROM "+TableName+" WHERE 1=2",ref mRs,TableName);
	//检查是否有数据
	if(!mRs.Tables.Contains(TableName))
	{
		return ;
	}
	string strInsertPart=GetInsertSQL(mRs,TableName);
	//此时的TableName应该为XML里面对象节点的名称
	try
	{
		foreach(DataRow dr in 更多 >

vs2003 调试报错 没有调试权限,验证您是服务器上 “Debugger Users” 组的成员

把 XML 转换为 DATASET

/// 
/// 以下内容为接口返回结果解析
/// 
public DataSet DoSendResult(string result, string xmlRootName, string xmlListRootName, string objName, bool isMany)
{
	//这里假设result结果
	result = "12";
	DataSet dsResult = null;
	string content = result;

	//解析接口返回值,这里选用XML格式的解析,接口默认返回是XML格式
	XmlDocument xmlDoc = new XmlDocument();
	xmlDoc.LoadXml(content);

	dsResult = GetDataSetByXml(xmlDoc, xmlRootName, xmlListRootName, objName, isMany);
	return dsResult;
}

/// 
/// 把API返回的XML转换为DATESET
/// 更多 >

C# 删除IE浏览记录 缓存文件 cookie

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Security.Permissions;
using Microsoft.Win32;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    //删除文件夹类
    public void DeleteFolder(string dir)
    {
        try
        {
            if (Directory.Exists(dir))  //如果存在这个文件夹删除之
            {
                foreach (string d in Directory.GetFileSystemEntries(dir)) 更多 >

删除IE 缓存

#region private void ClearIECache() // 清除IE缓存
      // ------------------------------------------------------------------------------------------------------------------------------------        /// 
        /// 清除IE缓存
      /// 
        private void ClearIECache()
        {
            Process process = new Process();
            process.StartInfo.FileName = "cmd.exe";
            process.StartInfo.Arguments = "/c " + "del /f /s /q \"%userprofile%\\Local Settings\\Temporary Internet Files\\*.*\"";
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardInput = true;
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.RedirectStandardError = true;
            process.StartInfo.CreateNoWindow 更多 >

关于Debug和Release浅尝则止

Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。

实际上,Debug 和 Release 并没有本质的界限,他们只是一组编译选项的集合,编译器只是按照预定的选项行动。事实上,我们甚至可以修改这些选项,从而得到优化过的调试版本或是带跟踪语句的发布版本。

只有DEBUG版的程序才能设置断点、单步执行、使用TRACE/ASSERT等调试输出语句。REALEASE不包含任何调试信息,所以体积小、运行速度快。

SubmitChanges() 并发错误解决!

/// 
        /// 提交到数据库
        /// 
        public static void Submit()
        {
            try
            {
                _db.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict);
            }
            catch (System.Data.Linq.ChangeConflictException ex)
            {
                _db.ChangeConflicts.ResolveAll(System.Data.Linq.RefreshMode.KeepChanges);//保存原来的值 有冲突的话保存当前版本
                // 注意:解决完冲突后还得 SubmitChanges() 一次,不然一样是没有更新到数据库的
                _db.SubmitChanges();
            }

        }