C#学习心得

C# SQL数据库在外地连接解决方法:

Form1:
private void Form1_Load(object sender, System.EventArgs e)
{
Form2 F2=new Form2();
F2.ShowDialog();
if(F2.DialogResult==DialogResult.OK)
{
string cnStr="uid="+F2.stru1.user+";password="+F2.stru1.pw+";database="+F2.stru1.dbase+
";server=localhost";
SqlConnection cn=new SqlConnection(cnStr);
}
}

Form2:
1、先建立一个struct,并构造:
public struct stru
{
public string dbase,user,pw;
public stru(string Dbase,string User,string Pw)
{
dbase=Dbase;user=User;pw=Pw;
}
}
public stru stru1=new stru("","","");
2、在Form2上建立2个按钮,一个“确定”按钮,其dialogResult设为None;另一个“取消”按钮,其dialogResult设为“Cancel”;
private void button1_Click(object sender, System.EventArgs e)
{
stru1.dbase=tb1.Text;
stru1.user=tb2.Text;
stru1.pw=tb3.Text;
string cnStr="uid="+stru1.user+";password="+stru1.pw+";database="+stru1.dbase+";server=localhost";
cn.ConnectionString=cnStr;
try
{
cn.Open();
MessageBox.Show("OK,您的数据库连接成功!");
this.DialogResult=DialogResult.OK;
//在FORM1中,DialogResult只有在不是None的情况下,可以接收已经关闭的Form2的存储的结果
//另外,如果按钮没有设置,那么虽然按钮的DialogResult=None,但窗体却是Cancel.
this.Close();//这样就可以达到如果数据库连接失败,就不关闭此窗口,连接成功,才关闭此窗口。
}
catch (Exception ex)
{
MessageBox.Show("对不起,你的数据库连接失败!");
}
}
private void button2_Click(object sender, System.EventArgs e)
{
stru1.dbase="";
stru1.user="";
stru1.pw="";
}

 

DataList的翻页问题:

<%@ Page Language="C#" debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>



Products Listing




















Product ID

Product

Quantity Per Unit

Unit Price

<%# DataBinder.Eval(Container.DataItem, "ProductID") %>

<%# DataBinder.Eval(Container.DataItem, "ProductName") %>

<%# DataBinder.Eval(Container.DataItem, "QuantityPerUnit") %>

<%# DataBinder.Eval(Container.DataItem, "UnitPrice", "$ {0}") %>






 




 

很强的c#.net函数列表


1、DateTime 数字型
System.DateTime currentTime=new System.DateTime();
1.1 取当前年月日时分秒
currentTime=System.DateTime.Now;
1.2 取当前年
int 年=currentTime.Year;
1.3 取当前月
int 月=currentTime.Month;
1.4 取当前日
int 日=currentTime.Day;
1.5 取当前时
int 时=currentTime.Hour;
1.6 取当前分
int 分=currentTime.Minute;
1.7 取当前秒
int 秒=currentTime.Second;
1.8 取当前毫秒
int 毫秒=currentTime.Millisecond;
(变量可用中文)

2、Int32.Parse(变量) Int32.Parse("常量")
字符型转换 转为32位数字型

3、 变量.ToString()
字符型转换 转为字符串
12345.ToString("n"); //生成 12,345.00
12345.ToString("C"); //生成 ¥12,345.00
12345.ToString("e"); //生成 1.234500e+004
12345.ToString("f4"); //生成 12345.0000
12345.ToString("x"); //生成 3039 (16进制)
12345.ToString("p"); //生成 1,234,500.00%


4、变量.Length 数字型
取字串长度:
如: string str="中国";
int Len = str.Length ; //Len是自定义变量, str是求测的字串的变量名

5、System.Text.Encoding.Default.GetBytes(变量)
字码转换 转为比特码
如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str);
然后可得到比特长度:
len = bytStr.Length;

6、System.Text.StringBuilder("")
字符串相加,(+号是不是也一样?)
如:System.Text.StringBuilder sb = new System.Text.StringBuilder("");
sb.Append("中华");
sb.Append("人民");
sb.Append("共和国");

7、变量.Substring(参数1,参数2);
截取字串的一部分,参数1为左起始位数,参数2为截取几位。
如:string s1 = str.Substring(0,2);

8、String user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString();
取远程用户IP地址

9、穿过代理服务器取远程用户真实IP地址:
if(Request.ServerVariables["HTTP_VIA"]!=null){
string user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}else{
string user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString();
}

10、 Session["变量"];
存取Session值;
如,赋值: Session["username"]="小布什";

取值: Object objName=Session["username"];
String strName=objName.ToString();
清空: Session.RemoveAll();

11、String str=Request.QueryString["变量"];
用超链接传送变量。
如在任一页中建超链接:点击
在Edit.aspx页中取值:String str=Request.QueryString["fdid"];

12、DOC对象.CreateElement("新建节点名");
创建XML文档新节点

13、父节点.AppendChild(子节点);
将新建的子节点加到XML文档父节点下

14、 父节点.RemoveChild(节点);
删除节点

15、Response
Response.Write("字串");
Response.Write(变量);
向页面输出。

Response.Redirect("URL地址");
跳转到URL指定的页面

16、char.IsWhiteSpce(字串变量,位数)——逻辑型
查指定位置是否空字符;
如:
string str="中国 人民";
Response.Write(char.IsWhiteSpace(str,2)); //结果为:True, 第一个字符是0位,2是第三个字符。

17、char.IsPunctuation('字符') --逻辑型
查字符是否是标点符号
如:Response.Write(char.IsPunctuation('A')); //返回:False

18、(int)'字符'
把字符转为数字,查代码点,注意是单引号。
如:
Response.Write((int)'中'); //结果为中字的代码:20013

19、(char)代码
把数字转为字符,查代码代表的字符。
如:
Response.Write((char)22269); //返回“国”字。

20、 Trim()
清除字串前后空格

21 、字串变量.Replace("子字串","替换为")
字串替换
如:
string str="中国";
str=str.Replace("国","央"); //将国字换为央字
Response.Write(str); //输出结果为“中央”

再如:(这个非常实用)

string str="这是");
}
else
{Response.Write("");
}
}
}
}

 

Cookie:

//创建一个HttpCookie对象
HttpCookie cookie = new HttpCookie ( NameField . Text ) ;
//设定此cookies值
cookie . Value = ValueField . Text ;
//设定cookie的生命周期,在这里定义为一个小时
DateTime dtNow = DateTime . Now ;
TimeSpan tsMinute = new TimeSpan ( 0 , 1 , 0 , 0 ) ;
cookie . Expires = dtNow + tsMinute ;
cookie [ "姓名" ] = "王天" ;
cookie [ "性别" ] = "男" ;
cookie [ "年龄" ] = "26" ;
//加入此cookie
Response . Cookies . Add ( cookie ) ;
Response . Write ( NameField . Text + "Cookie创建完毕


" ) ;

//获得cookie
HttpCookie cookie = Request.Cookies [ strCookieName ] ;
//确定是否存在用户输入的cookie
if ( null == cookie ) {
Response.Write ( "没有发现指定的cookie


" ) ;
}
else {
//找到指定的cookie,显示cookie的值
String strCookieValue = cookie . Value . ToString ( ) ;
Response.Write ( strCookieName + " cookie 的值为: "
+ strCookieValue + "


" ) ;

Session:

Session["myname"]="along"; Session["myname"].Remove();

 

iframe的绑定:

protected System.Web.UI.HtmlControls.HtmlInputHidden hneirong;
string b1="iframe1.document.designMode='on';iframe1.document.body.innerHTML=/'";
string b2="/';";

string b3;
if(!IsPostBack)
{
Button1.Attributes["onmouseover"]="hneirong.value=iframe1.document.body.innerHTML;";
iframe1.Attributes["onload"]="iframe1.document.designMode='on';";
if(Session["neirong"]==null)
{
iframe1.Attributes["onload"]+="iframe1.document.body.innerHTML='这是初始内容';";
}
else
{
iframe1.Attributes["onload"]+=b1+Session["neirong"].ToString()+b2;
}
}
else
{
iframe1.Attributes["onload"]=b1+b3+b2;
}

private void Button1_Click(object sender, System.EventArgs e)
{
b3= hneirong.Value.Replace("/r/n","");
Session["neirong"]=b3;
Response.Redirect("yulan.aspx");
}

 

Split、Substring、Replace的综合用法:

string bb="中国人, 历史, 前途, 第四, opq, rst, uvw, xyz";
string cc="";
cc=bb.Replace(", ",",");
string[] renshushu=cc.Split(',');
int renshu=renshushu.Length;
// for (loop=0; loop < friend_array.length; loop++)
string zh="xyz";
int inof=cc.IndexOf(zh);
string zuo="",you="",he="";
if (inof!=-1)
{
if(inof==0)
{ he=cc.Substring(zh.Length+1);}
else if(inof+zh.Length==cc.Length)
{he=cc.Substring(0,inof-1);}
else
{
zuo=cc.Substring(0,inof);
you=cc.Substring(inof+zh.Length+1);
he=String.Concat(zuo,you).ToString();
}
}
Label3.Text="renshu:"+renshu+"
"+zuo+"
"+you+"
"+he;

 

数据库连接、CheckListBox的绑定

string strConn=ConfigurationSettings.AppSettings["cnstr"];
SqlConnection cn=new SqlConnection(strConn);
cn.Open();
SqlDataAdapter da=new SqlDataAdapter("select wid,wenjianming from hongtoud",cn);
dataSet1=new DataSet();
da.Fill(dataSet1,"ht");
CheckBoxList1.DataSource=dataSet1.Tables["ht"].DefaultView;
CheckBoxList1.DataTextField="wenjianming";
CheckBoxList1.DataValueField="wid";
SqlCommand cm2=new SqlCommand("select wid,yonghu from usertab where uid=3",cn);
SqlDataReader dr2=cm2.ExecuteReader();
dr2.Read();
string yonghuwid=dr2["wid"].ToString();
string[] yonghuwidArr=yonghuwid.Split(',');
int shu=yonghuwidArr.Length;
CheckBoxList1.DataBind();
for(int i=0;i{
foreach (ListItem li in CheckBoxList1.Items)
{if(li.Value.ToString()==yonghuwidArr[i])
{
li.Selected=true;
}
}
}

 

页面间传递值,用SESSION最好,页内传值,用hiddenInput最好,因为一般的变量在刷新后会没有了。

 

你可能感兴趣的:(c#,string,dataset,textbox,object,iframe,ASP.NET)