置顶:较好的学习网站和书(2008-08-08 22:57)
我爱你时,你才那么闪耀;我不爱你,你什么都不是。
可是
如果这句话反过来呢?就不一样了
在爱的世界里,谁也不是谁的谁,
也不是谁离开谁就活不下去,
当然除了那种嗜爱如命的人……
这样的人应该很少了吧????????
我不知道……
爱需要缘分
还想介绍一下using()在连接数库代码中的用法。看到很多朋友没有使用过它。我强烈建议养成使用using的习惯。它帮我们管理数据库连接,非常安全简便
private DataSet GetConn()
{
string connstr =
ConfigurationManager.ConnectionStrings['MySqlConnection'].ConnectionString;
string sqlstr = 'SELECT * FROM UserInfo';
DataSet ds = new DataSet();
using (SqlConnection conn = new SqlConnection(connstr))
{
SqlCommand cmd = new SqlCommand(sqlstr, conn);
cmd.CommandType = CommandType.Text;
SqlDataAdapter ada = new SqlDataAdapter();
ada.SelectCommand = cmd;
ada.Fill(ds);
}
return ds;
}
这是这样的用法。它把我们连接数据库,执行SQL命令,使用适配器返回数据集的操作全部包含在内
这样。我们不需要去关心它的conn的资源是否关闭。当我们不用到它时。系统自动帮我们安全关闭
而且,注意到了吗?我没有写conn.open()
是的。可以不写这句。
但有个条件:当我们使用适配器的时候,就不用写open()。
否则就
还想介绍一下using()在连接数库代码中的用法。看到很多朋友没有使用过它。我强烈建议养成使用using的习惯。它帮我们管理数据库连接,非常安全简便
private DataSet GetConn() { string connstr =
ConfigurationManager.ConnectionStrings['MySqlConnection'].ConnectionString;
string sqlstr = 'SELECT * FROM UserInfo'; DataSet ds = new
DataSet(); using (SqlConnection conn = new SqlConnection(connstr))
{ SqlCommand cmd = new SqlCommand(sqlstr, conn); cmd.CommandType =
CommandType.Text; SqlDataAdapter ada = new SqlDataAdapter();
ada.SelectCommand = cmd; ada.Fill(ds); } return ds; }
这是这样的用法。它把我们连接数据库,执行SQL命令,使用适配器返回数据集的操作全部包含在内
这样。我们不需要去关心它的conn的资源是否关闭。当我们不用到它时。系统自动帮我们安全关闭
而且,注意到了吗?我没有写conn.open() 是的。可以不写这句。 但有个条件:当我们使用适配器的时候,就不用写open()。
否则就要写上。 对了,如果大家有兴趣。可以去下载微软难得的开源DLL--SQLHelper
它把所有的数据库操作的方法全部封装在内。包括增删改查。我们只需要引用,
还想介绍一下using()在连接数库代码中的用法。看到很多朋友没有使用过它。我强烈建议养成使用using的习惯。它帮我们管理数据库连接,非常安全简便
private DataSet GetConn() { string connstr =
ConfigurationManager.ConnectionStrings['MySqlConnection'].ConnectionString;
string sqlstr = 'SELECT * FROM UserInfo'; DataSet ds = new
DataSet(); using (SqlConnection conn = new SqlConnection(connstr))
{ SqlCommand cmd = new SqlCommand(sqlstr, conn); cmd.CommandType =
CommandType.Text; SqlDataAdapter ada = new SqlDataAdapter();
ada.SelectCommand = cmd; ada.Fill(ds); } return ds; }
这是这样的用法。它把我们连接数据库,执行SQL命令,使用适配器返回数据集的操作全部包含在内
这样。我们不需要去关心它的conn的资源是否关闭。当我们不用到它时。系统自动帮我们安全关闭
而且,注意到了吗?我没有写conn.open() 是的。可以不写这句。 但有个条件:当我们使用适配器的时候,就不用写open()。
否则就要写上。 对了,如果大家有兴趣。可以去下载微软难得的开源DLL--SQLHelper
它把所有的数据库操作的方法全部封装在内。包括增删改查。我们只需要引用,
方法(1):
<asp:datalist
<itemtemplate>
<a href='detail.aspx?id=<%# eval_r('ID') %>'><%#
eval_r('Name') %></a>
或:
<asp:hyperlink navigateurl='<%# eval_r('ID',
'showdetail.aspx?id={0}') %>' text=<%# eval_r('Name') %
runat=server />
<itemtemplate>
方法(2):
<asp:datalist OnItemCommand='DataList_ItemCommand'
<itemtemplate>
<asp:LinkButton ID='LinkButton' Runat='server' Text='详细'
CommandName='<%# eval_r('ID') %>'/>
<itemtemplate>
后台:
protected void DataList_ItemCommand(object Sender, DataLis
<%@ Page Language='C#' AutoEventWireup='true'
CodeFile='Default.aspx.cs' Inherits='Default' %>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0
Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'
>
<head id='Head1' runat='server'>
<title>无标题页</title>
</head>
<script language='javascript' type='text/javascript'>
function initDownList()
{
document.forms[0].city.options[0]=new
Option('-=请选择=-','0');
document.forms[0].town.options[0]=new
Option('-=请选择=-','0');
}
function Province()
{
//清空下拉列表框
document.forms[0].city.options.length=0;
document.forms[0].town.
.net2.0发送邮件找回密码源码(2008-09-27 11:09)
SendSMTPEMail('100.100.100.100', '
someone@xxx.com', 'xxxx', '
someone@xxx.com', 'webtest',
TextBox1.Text, null, null);
方法体:
public void SendSMTPEMail(string strSmtpServer, string
strFrom, string strFromPass, string strto, string strSubject,
string strBody)
{
System.Net.Mail.SmtpClient client = new
SmtpClient(strSmtpServer);
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(strFrom,
strFromPass);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
如何选中外键表(DataGridView2)中某条记录在对应主表(DataGridView1)中相应的记录改变背景色:
在DataGridView2的CellMouseClick事件中写:(有默认选中行的情况)
for(int i=0;i<DataGridView1.Rows.Count;i++)
{
if(DataGridView2.currentRow.Cells['外键'].value.ToString()==DataGridView1.Rows[j].Cells['主键'].Value.ToString())
DataGridView1.Rows[j].Selected=true;
}
什么是CMMI(2008-08-31 18:54)
CMMI全称是Capability Maturity Model
Integration,
即软件能力成熟度模型集成模型,是由美国国防部与卡内基-梅隆大学和美国国防工业协会共同开发和研制的。CMMI是一套融合多学科的、可扩充的产品集合,
其研制的初步动机是为了利用两个或多个单一学科的模型实现一个组织的集成化过程改进
CMMI分为五个等级,二十五个过程区域(PA)(如图所示)。 1. 初始级
软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。 2. 已管理级
建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。 3. 已定义级
已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
4. 量化管理级
分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
5. 优化管理级 过程的量化反馈和先进的新思想、新技术促使过程持续不断改进
表结构如下:
类型表:
类型ID
类型名称
所属软件(外键)
软件信息表:
软件ID(主键)
软件名称
protected void
treeviewProductDataBind()
{
SqlConnection
cn = new
SqlConnection('server=192.168.1.227;database=Northwind;user
id=sa;password=;');
SqlDataAdapter
daCategories = new
SqlDataAdapter('select
CategoryID,CategoryName
from &n