当前位置: 编程技术>.net/c#/asp.net
本页文章导读:
▪SQLServer 在Visual Studio的2种连接方法
一、Sql Server 在Visual Studio的连接有两种方法:(1)本地计算机连接; 代码如下:string s = "Data Source=计算机名称;initial Catalog=数据库名称;integrated Security=True"; (2)windows身份验证方式连接; 代码.........
▪GridView使用CommandField删除列实现删除时提示确认框
GridView在使用CommandField删除时弹出提示框,在.net2005提供的GridView中我们可以直接添加一个CommandField删除列:<asp:CommandField ShowDeleteButton="True" />,完后在它的RowDeleting事件中完成删除。但.........
▪DataGrid中实现超链接的3种方法
1.使用DataGrid中的超链接列—HyperLinkColumn
相信很多人都使用过datagrid中的超链接列,它很好用,默认情况下只能传递一个参数,如下所示:
代码如下:<asp:HyperLinkColumn DataTextField="CompanyName" Data.........
[1]SQLServer 在Visual Studio的2种连接方法
来源: 互联网 发布时间: 2013-11-30
一、Sql Server 在Visual Studio的连接有两种方法:
(1)本地计算机连接;
string s = "Data Source=计算机名称;initial Catalog=数据库名称;integrated Security=True";
(2)windows身份验证方式连接;
string cc="Data Source = 计算机名称; Initial Catalog = 数据库名称; User ID = sa; Password = 你的密码";
二、在Visual Studio中使用:
例1:查询数据库中的数据并且显示出来
string s = "Data Source=计算机名称;Initial Catalog=数据库名称;Integrated Security=True"; //此处使用本地计算机连接方式
SqlConnection conn = new SqlConnection(s); //创建连接
conn.Open(); //打开连接
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from T_User"; //使用命令
SqlDataAdapter adapter=new SqlDataAdapter(cmd);
DataTable dt=new DataTable();
adapter.Fill(dt);
conn.Dispose(); //释放所以资源
cmd.Dispose();
conn.Close(); //关闭连接
string realname="";
string username="";
string mobile="";
string address="";
for (int i=0;i<dt.Rows.Count;i++)
{
realname=dt.Rows[i][3].ToString();
username=dt.Rows[i][1].ToString();
mobile=dt.Rows[i][4].ToString();
address=dt.Rows[i][5].ToString();
Console.WriteLine("姓名为{0},用户名为{1},手机为{2},地址为{3}", realname, username, mobile, address);
}
Console.ReadKey();
例2:删除表中数据
string cc="Data Source = 计算机名称; Initial Catalog = 数据库名称; User ID = sa; Password = 你的密码"; //使用windows身份验证
SqlConnection conn = new SqlConnection(s);
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "delete from T_User where Id=5";
cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Close();
Console.WriteLine("删除成功");
Console.ReadKey();
例3:修改表中数据
string s = "Data Source=计算机名称;initial Catalog=数据库名称;integrated Security=True";
SqlConnection conn = new SqlConnection(s);
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "update T_User set Card=@card where ID=3";
cmd.Parameters.AddWithValue("@card", "13000000000000");
cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Close();
conn.Dispose();
Console.WriteLine("修改成功!");
Console.ReadKey();
例4:向表中插入数据
string s = "data source=计算机名称;initial catalog=数据库名称;integrated security=true";
SqlConnection conn = new SqlConnection(s);
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "insert into T_User(UserName,Password,RealName,Mobile,Address) values(@username,@password,@realname,@mobile,@address)";
cmd.Parameters.AddWithValue("@username", "xingxing");
cmd.Parameters.AddWithValue("@password", "77777");
cmd.Parameters.AddWithValue("@realname", "星星");
cmd.Parameters.AddWithValue("@mobile", 1300000000);
cmd.Parameters.AddWithValue("@address", "河北省北京市");
cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Close();
conn.Dispose();
Console.WriteLine("成功插入一行");
Console.ReadKey();
(1)本地计算机连接;
代码如下:
string s = "Data Source=计算机名称;initial Catalog=数据库名称;integrated Security=True";
(2)windows身份验证方式连接;
代码如下:
string cc="Data Source = 计算机名称; Initial Catalog = 数据库名称; User ID = sa; Password = 你的密码";
二、在Visual Studio中使用:
例1:查询数据库中的数据并且显示出来
代码如下:
string s = "Data Source=计算机名称;Initial Catalog=数据库名称;Integrated Security=True"; //此处使用本地计算机连接方式
SqlConnection conn = new SqlConnection(s); //创建连接
conn.Open(); //打开连接
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from T_User"; //使用命令
SqlDataAdapter adapter=new SqlDataAdapter(cmd);
DataTable dt=new DataTable();
adapter.Fill(dt);
conn.Dispose(); //释放所以资源
cmd.Dispose();
conn.Close(); //关闭连接
string realname="";
string username="";
string mobile="";
string address="";
for (int i=0;i<dt.Rows.Count;i++)
{
realname=dt.Rows[i][3].ToString();
username=dt.Rows[i][1].ToString();
mobile=dt.Rows[i][4].ToString();
address=dt.Rows[i][5].ToString();
Console.WriteLine("姓名为{0},用户名为{1},手机为{2},地址为{3}", realname, username, mobile, address);
}
Console.ReadKey();
例2:删除表中数据
代码如下:
string cc="Data Source = 计算机名称; Initial Catalog = 数据库名称; User ID = sa; Password = 你的密码"; //使用windows身份验证
SqlConnection conn = new SqlConnection(s);
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "delete from T_User where Id=5";
cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Close();
Console.WriteLine("删除成功");
Console.ReadKey();
例3:修改表中数据
代码如下:
string s = "Data Source=计算机名称;initial Catalog=数据库名称;integrated Security=True";
SqlConnection conn = new SqlConnection(s);
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "update T_User set Card=@card where ID=3";
cmd.Parameters.AddWithValue("@card", "13000000000000");
cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Close();
conn.Dispose();
Console.WriteLine("修改成功!");
Console.ReadKey();
例4:向表中插入数据
代码如下:
string s = "data source=计算机名称;initial catalog=数据库名称;integrated security=true";
SqlConnection conn = new SqlConnection(s);
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "insert into T_User(UserName,Password,RealName,Mobile,Address) values(@username,@password,@realname,@mobile,@address)";
cmd.Parameters.AddWithValue("@username", "xingxing");
cmd.Parameters.AddWithValue("@password", "77777");
cmd.Parameters.AddWithValue("@realname", "星星");
cmd.Parameters.AddWithValue("@mobile", 1300000000);
cmd.Parameters.AddWithValue("@address", "河北省北京市");
cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Close();
conn.Dispose();
Console.WriteLine("成功插入一行");
Console.ReadKey();
[2]GridView使用CommandField删除列实现删除时提示确认框
来源: 互联网 发布时间: 2013-11-30
GridView在使用CommandField删除时弹出提示框,在.net2005提供的GridView中我们可以直接添加一个CommandField删除列:<asp:CommandField ShowDeleteButton="True" />,完后在它的RowDeleting事件中完成删除。但在多半我们在做这种删除操作时都需要先让操作者再确认下,完后再进行删除,以避免误操作引起的误删除。
可以通过下面方法给GridView删除前加上个确认对话框。
首先,在GridView的属性对框话框中点击“Columns”进入它的“字段”设计器。接着在“字段”设计器中选择以前已加上的那个CommandField“删除”列,这时在它的属性列表下会看到一个“将此它段转换为 TemplateFied”的项,点击将它转换为TemplateFied列。
完后退出该字段设计器,切换到源码视图你会发现该列已由原来的:<asp:CommandField ShowDeleteButton="True" />
变为了:
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete" Text="删除"></asp:LinkButton>
</ItemTemplate>
最后在<asp:LinkButton>中加入:OnClientClick="return confirm('确认要删除吗?');"
这样点击删除时就会先在客户端弹出“确认要删除吗?”对话框,而原来在RowDeleting事件中写的代码完全不用改变。
第二种方法:
实现方法:
双击GridView的OnRowDataBound事件;
在后台的GridView1_RowDataBound()方法添加代码,最后代码如下所示:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//如果是绑定数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
{
((LinkButton)e.Row.Cells[6].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除:\"" + e.Row.Cells[1].Text + "\"吗?')");
}
}
}
以上是两种最常见的完善GridView中的删除控件的方法,这两种方法还没有实现对特定数据的绑定作用。
可以通过下面方法给GridView删除前加上个确认对话框。
首先,在GridView的属性对框话框中点击“Columns”进入它的“字段”设计器。接着在“字段”设计器中选择以前已加上的那个CommandField“删除”列,这时在它的属性列表下会看到一个“将此它段转换为 TemplateFied”的项,点击将它转换为TemplateFied列。
完后退出该字段设计器,切换到源码视图你会发现该列已由原来的:<asp:CommandField ShowDeleteButton="True" />
变为了:
代码如下:
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete" Text="删除"></asp:LinkButton>
</ItemTemplate>
最后在<asp:LinkButton>中加入:OnClientClick="return confirm('确认要删除吗?');"
这样点击删除时就会先在客户端弹出“确认要删除吗?”对话框,而原来在RowDeleting事件中写的代码完全不用改变。
第二种方法:
实现方法:
双击GridView的OnRowDataBound事件;
在后台的GridView1_RowDataBound()方法添加代码,最后代码如下所示:
代码如下:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//如果是绑定数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
{
((LinkButton)e.Row.Cells[6].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除:\"" + e.Row.Cells[1].Text + "\"吗?')");
}
}
}
以上是两种最常见的完善GridView中的删除控件的方法,这两种方法还没有实现对特定数据的绑定作用。
[3]DataGrid中实现超链接的3种方法
来源: 互联网 发布时间: 2013-11-30
1.使用DataGrid中的超链接列—HyperLinkColumn
相信很多人都使用过datagrid中的超链接列,它很好用,默认情况下只能传递一个参数,如下所示:
代码如下:
<asp:HyperLinkColumn DataTextField="CompanyName" DataNavigateUrlField="CustomerID" DataNavigateUrlFormatString="Default2.aspx?customerid={0}" eaderText="link">
</asp:HyperLinkColumn>
从上可以看出,传递一个参数的超链接是很容易做到的。那么传递多个参数该如何做?
2.在DataGrid的ItemDataBound事件中对超链接列赋值
假设有一个id为DataGrid1的Datagrid,第一列为超链接列(下标为0),那么它的ItemDataBound事件可写成下面形式。
代码如下:
private void DataGrid1_ItemDataBound(object sender,System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Pager||e.Item.ItemType==ListItemType.Header||e.Item.ItemType==ListItemType.Footer)
{
return; //判断是否为页眉,页脚
}
else
{
HyperLink link=( HyperLink)e.Item.Cells[0].Controls[0];//这里也可以用findcontrol
link.NavigateUrl="webform3.aspx?id=XXX & name=XXX";
//如果跟某列有关,则可写为
// link.NavigateUrl="webform3.aspx?id=”+e.Item.Cells[列号].text;
}
}
如果想在模版列使用超链接,可以在该列模版设为LinkButton,可以多个LinkButton在一起,不过id不能相同。我们仍假定该列位是第一列,此时,为其中某个LinkButton定义链接可以如下,把语句
代码如下:
HyperLink link=( HyperLink)e.Item.Cells[0].Controls[0];
替换成
代码如下:
LinkButton link=( LinkButton)e.Item.Cells[0]. FindControl(“LinkButton的id”);
link.Attributes["onclick"] = "<script>location.href='/blog_article/XXX.html';</script>";
当该列只有一个控件即一个LinkButton时,可以用如下语句来实现:
代码如下:
e.Item.Cells[0].Attributes["onclick"] = "<script>location.href='/blog_article/XXX.html';</script>";
这样就省去查找控件的时间。
上面实际我们已经说到两种方法,一种利用HyperLinkColumn列在ItemDataBound事件里添加NavigateUrl,另一种是在ItemDataBound事件中使用javascript定义click事件,后者比较灵活,只需控件有click事件即可。
3.使用HTML超链接标记
代码如下:
<asp:TemplateColumn>
<ItemTemplate>
<a href="/blog_article/Default/id/.html'<%#(String)DataBinder.Eval(Container.DataItem,"CustomerID")%>'
&name='<%#(String)DataBinder.Eval(Container.DataItem,"CompanyName")%>'">操作</a>
</ItemTemplate>
</asp:TemplateColumn>
它功能就是点击时转到Default.aspx,同时传递参数id和name,这里两个参数都是通过数据绑定动态生成。这种方法在VS2005中是成功的,但是在VS2003中却报错。
还有一种方法很巧妙,它同样实现第三种方法的功能:假设第二列做为超链接,aspx页面代码:
代码如下:
<asp:boundcolumn DataField="ID" Visible=False></asp:boundcolumn> //第一列
<asp:boundcolumn DataField="名称"></asp:boundcolumn>//第二列
ItemDataBound事件如下:
代码如下:
public void DataGrid1_ItemDataBound(object sender,DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Pager||e.Item.ItemType==ListItemType.Header||e.Item.ItemType==ListItemType.Footer)
{
return;//判断是否为页眉,页脚
}
else
{
e.Item.Cells[1].Text="<a href=/blog_article/News/ID/.html"+e.Item.Cells[0].Text+">"+e.Item.Cells[1].Text+"</a>";//这里可以改成你需要的;
}
}
最新技术文章: