c#-项目总结-1.1

1.     链接access数据库

publicOleDbConnection cn = new OleDbConnection();

publicOleDbDataReader reader = null;

publicOleDbCommand com = null;

 

1.     由于链接字段过程中可能出现异常,所以需要加入try内

2.     连接字符串为Provider=Microsoft.Jet.OLEDB.4.0;DataSource=数据库的地址

3.     获取数据库地址的方式

1、System.Web.HttpContext.Current.Request.PhysicalApplicationPath+ “.mdb”;

2、可以把Access数据库文件放在App_Data文件夹中,然后使用关键词 DataDirectoty来获取路径。    \DataDirectory\test.mdb

3、Server.MapPath(“~/App_Data/db.mdb”)

4.     如果不需要返回结果com.ExecuteNonQuery();

如果需要          reader = com.ExecuteReader();  reader.Close();

5.     如果需要获取数据信息  while (reader.Read()),  reader.GetString(1)

 

2.     类中的提示框

HttpContext.Current.Response.Write("<script>alert('出现错误')</script>")

 

3.     上传图片

<asp:FileUploadID="tupianFile" runat="server" />文件选择控件

 

文件选择控件id .PostedFile.FileName  得到的是文件的完整路径

字符串.Substring (int i); 返回从i位开始的字符串

字符串.LastIndexOf(“”) 返回最后一次出现字符的位数

文件选择控件id .PostedFile.SaveAs(“”);将上传的文件另存为

 

4.     Xml

 

1.     创建xml

usingSystem.Xml;

voidsetXml(string file)

{

XmlTextWriter writer = newXmlTextWriter(file,System.Text.Encoding.UTF8);

 

writer.WriteStartDocument();

 

//根节点

writer.WriteStartElement("root");

writer.WriteAttributeString("xmlns","x", null, "urn:1");//指定的前缀、本地名称、命名空间 URI 和值的属性

 

//一级节点

writer.WriteStartElement("aaa","urn:1");//指定的开始标记并将其与给定的命名空间关联起来

         //二级节点

writer.WriteStartElement("a1");

writer.WriteEndElement();

writer.WriteEndElement();

        

writer.WriteEndElement();

writer.Close();

}

 

<?xmlversion="1.0" encoding="utf-8"?>

<rootxmlns:x="urn:1">

  <x:aaa>

    <a1 /></x:aaa>

  <x:bbb />

</root>

 

2.     添加节点

XmlDocumentxmlDoc = new XmlDocument();

xmlDoc.Load(mapPath);

XmlNoderoot = xmlDoc.SelectSingleNode("Categories");//找到根节点

XmlNodeListxnl = xmlDoc.SelectSingleNode("Categories").ChildNodes;//找到一级节点

privatestring mapPath;

 

//创建节点

XmlElementxe1 = xmlDoc.CreateElement("Category");

xe1.SetAttribute("id","2");

XmlElementxesub1 = xmlDoc.CreateElement("CategoryId");

xesub1.InnerText= "2";

 

//添加子节点

xe1.AppendChild(xesub1);

root.AppendChild(xe1);

 

//保存

xmlDoc.Save(mapPath);

 

<?xmlversion="1.0" encoding="utf-8"?>

<Categories>

  <Category id="1">

    <CategoryId>1</CategoryId>

  </Category>

  <Category id="2">

    <CategoryId>2</CategoryId>

  </Category>

</Categories>

 

3.     删除节点

XmlDocumentxmlDoc = new XmlDocument();

xmlDoc.Load(mapPath);

XmlNoderoot = xmlDoc.SelectSingleNode("Categories");//找到根节点

XmlNodeListxnl = root.ChildNodes;//找到一级节点

privatestring mapPath;

 

foreach(XmlNode xn in xnl)

{

XmlElement xe = (XmlElement)xn;

if ( xe.GetAttribute("id") == “” )  { xe.RemoveAll(); }

}

xmlDoc.Save(mapPath);

 

4.     查询节点

XmlDocumentxmlDoc = new XmlDocument();

xmlDoc.Load(mapPath);

XmlNoderoot = xmlDoc.SelectSingleNode("Categories");//找到根节点

XmlNodeListxnl = root.ChildNodes;//找到一级节点

privatestring mapPath;

 

foreach(XmlNode xnf in xnl)

{

XmlElement xe = (XmlElement)xnf;

XmlNodeList xnf1 = xe.ChildNodes;

 

foreach (XmlNode xn2 in xnf1)

{

XmlElement xe5 =(XmlElement)xn2;

Response.Write(xe5.Name +":" + xe5.InnerText + "\n");

   }

}

 

5.     修改节点

XmlDocumentxmlDoc = new XmlDocument();

xmlDoc.Load(mapPath);

XmlNoderoot = xmlDoc.SelectSingleNode("Categories");//找到根节点

XmlNodeListxnl = root.ChildNodes;//找到一级节点

privatestring mapPath;

 

foreach(XmlNode xn in xnl)

{

XmlElement xe = (XmlElement)xn;

if (xe.GetAttribute("id") == “”)

{

XmlNodeList nls =xe.ChildNodes;

foreach (XmlNode xl in nls)

{

XmlElement xel =(XmlElement)xl;

if (xel.Name =="Name")

xel.InnerText = “”;

        }

    }

}

xmlDoc.Save(mapPath);

 

5.     母模版

母模版空缺处:<asp:ContentPlaceHolderid  runat></asp:ContentPlaceHolder>

实际页面:

<%@ PageLanguage="C#" AutoEventWireup="true" CodeFile Inherits="zhuye"  MasterPageFile=" "%>

 

<asp:ContentID  runat  ContentPlaceHolderID="母模版空缺处的id号 ">

</asp:Content>

 

6.     Md5加密

 

string aaa=FormsAuthentication.HashPasswordForStoringInConfigFile(A ,"MD5");

将A的内容用md5加密

 

7.     页面跳转

Response.Redirect("");

string str =Request.QueryString[0]; 获取跳转页面?后带的参数的第一个

 

8.     全局变量

 

Application 应用程序开启后的全局变量

Session 会话启动时的全局变量

List<string>che = (List<string>)Session["gouwuche"];      //获取全局变量内容

 

9.     验证码

 

 

 

总结: 1、关于C#的知识 (1)、文件输入输出—数据流 1、FileStream类 例子: SqlDataReader reader = job.WriteFileToTxt(); FileStream jobStream = new FileStream(@fileName,FileMode.Open,FileAccess.ReadWrite);//覆盖 //FileStream jobStream = new FileStream(@fileName, FileMode.Append, FileAccess.Write);//追加 StreamWriter streamw = new StreamWriter(jobStream); string outfiles = null; streamw.WriteLine("此次任务信息如下:"); streamw.WriteLine("outfiles");//读取完毕后换行 reader.Close(); streamw.Close(); jobStream.Close(); 数据流一定要用try/catch语句块包起来,同时,例子中的fileName是文件路径,如果是*.txt之类的则默认存储在程序 的文件夹下 FileMode有很多枚举成员,其中 1)Append是打开现有文件或者创建新文件,其只能和FileAccess.Write一起使用; 2)Create是如果文件不存在,则使用CreateNew,否则使用Truncate,其要求FileIOPermissionAccess.Write; 3)CreateNew创建新文件,要求FileIOPermissionAccess.Write,如果文件存在则异常; 4)Open打开现有文件,能力取决于FileAccess的值(Read,Write,ReadWrite),如果文件存在则异常; 5)OpenOrCreate打开或创建,FileAccess.Read--FileIOPermissionAccess.Read,FileAccess.Write/ReadWrite-- FileIOPermissionAccess.Write,FileAccess.Append--FileIOPermissionAccess.Append; 6)Truncate打开现有文件,文件一旦打开将被截断为零字节,试图从使用Truncate打开的文件中进行读取将异常 注:SqlDataReader使用后一定要关闭 2、写文本文件 string text = Console.ReadLine(); StreamWriter streamw = File.CreateText(@"E:\test3.txt"); streamw.WriteLine(text); streamw.Close(); 读取文本文件 string txt = ""; StreamReader sr = new StreamReader(@"E:\test.txt"); while (!sr.EndOfStream) { string str = sr.ReadLine(); txt += str + "\n"; } sr.Close(); Console.Write(txt); Console.Read(); (2)、产品的框架 1)Model类:对象层,制定对象的属性和方法; 2)IDAL类:接口层,定义在SQLDAL中需要使用的方法; 3)SQLDAL类:数据持久层,实现接口中的方法,用DBUtility类中包装的SQL方法操作数据库; 4)BLL类:业务逻辑层,定义调用SQLDAL类中的方法,被WEB类中的事件调用,联系数据持久层和WEB表示层,中间桥梁 ; 5)DALFactory类:创建接口类型的CREATE方法,在SQLDAL中创建接口对象; 6)DBUtility类:创建各种SQL方法,实现数据的调用; 7)WEB类:表示层,设计页面格式(HTML)和实现各种事件(JavaScript) (3)c#中执行sql语句时传递参数的小经验 1> 直接写入法: 例如: int Id =1; string Name="lui"; cmd.CommandText="insert into TUserLogin values("+Id+",'"+Name+"')"; 因为Id是数值,所以在传递的时候只需要在sql字符串中用"+Id+"即可实现,而Name是字符串,所以在传递的时候还需 要在"+Name+"两边各加一个单引号(')来 实现; 2>给命令对象添加参数法: 例如: int Id =1; string Name="lui"; cmd.CommandText="insert into TUserLogin values(@Id,@Name)"; //上条语句中直接在sql语句中写添加的参数名,不论参数类型都是如此. SqlParameter para=new SqlParameter("@Id",SqlDbType.int,4);//生成一个名字为@Id的参数,必须以@开头表 示是添加的参数,并设置其类型长度,类型长度与数据库中对应字段相同 para.Value=Id;//给参数赋值 cmd.Parameters.Add(para);//必须把参数变量添加到命令对象中去。 //以下类似 para=new SqlParameter("@Name",SqlDbType.VarChar,16); para.Value=Name; com.Parameters.Add(para); 然后就可以执行数据库操作了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值