初学不久,学到了数据库绑定
今天学习了这个一个示例:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //连接数据库
        SqlConnection mycon = new SqlConnection();
        mycon.ConnectionString =
            "Persist Security Info = False;user id = sa;pwd = work;database = northwind;server = 192.168.255.245";
        mycon.Open();
        //使用Sqlcommand提交查询命令
        SqlCommand selectCMD = new SqlCommand("select * from Categories", mycon);
        //获取数据适配器
        SqlDataAdapter da = new SqlDataAdapter();
        da.SelectCommand = selectCMD;
        //填充DataSet
        DataSet ds = new DataSet();
        da.Fill(ds);
        //将DateSet中的数据绑定到DropDownList1
        DropDownList1.DataSource = ds;
        DropDownList1.DataBind();
        //断开连接
        mycon.Close();
    }
}
我一直想在页面上实现条件查询功能,于是在页面加了一个TextBox,一个Button,一个GridView。
然后将代码稍作修改放在了Button的单击事件中,代码如下,修改部分粗体显示:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        SqlConnection mycon = new SqlConnection();
        mycon.ConnectionString =
            "Persist Security Info = False;user id = sa;pwd = work;database = northwind;server = 192.168.255.245";
        mycon.Open();
        SqlCommand selectCMD = new SqlCommand("select * from Categories where categoryID = " + TextBox1.Text, mycon);
        SqlDataAdapter da = new SqlDataAdapter();
        da.SelectCommand = selectCMD;
        DataSet ds = new DataSet();
        da.Fill(ds);
        GridView1.DataSource = ds;
        GridView1.DataBind();
        mycon.Close();
    }
}如此!!在textbox中输入查询条件能够实现条件查询功能。
我的问题来了:
问题一:
这完全是我自己想出来的,总感觉结构很不符合常理,这种实现方法对吗?如果不对,应该如何??
问题二
GridView控件有个功能,显示智能标记,能打开一个窗口“GridView任务”,上面有个选择数据源,在那里能够可视化的配置数据源。我想使用这个“GridView任务”配置数据源,是否可以实现不用代码连接数据库了??我试验了,不成功,无法实现,总提示什么参数错误。应该如何在这种情况下实现同样的条件查询呢??如何配置数据源,如何写单击事件代码??
问题三
根据显示的数据的长度,GridView总是变化大小,如何才能固定的大小???
先谢谢各位老师了!!

解决方案 »

  1.   

    问题一: 挺好的,还需要考虑的是textbox中的数据为空怎么办,非法字符怎么办
    问题二: 是可以的。 选择数据源,然后一步一步设置就实现了。
    问题三:griview中使用模版列,设置模版列或者模版列中控件的宽度
      

  2.   

    问题三 
    根据显示的数据的长度,GridView总是变化大小,如何才能固定的大小??? 
    你可以再设置gridview的时候设置参数手动设置宽度
    如果是直接使用的控件,在属性设置里面下面倒数几行有设置行长度和是否自动换行的
    如果是手动啦的textbox在绑定的,在textbox里面应该可以设置宽度,你吧宽度设置固定了,应该就可以固定显示效果,
    问题二:
    如果是用自带的控件,应该是可以直接连接的,你可以确定下你使用的连接账号权限,还有MSSQL的权限,一般是这方面的问题
    ~~!个人一点使用,我也是新手
    比较系统的推荐http://blog.csdn.net/zhoufoxcn/archive/2009/05/19/4200741.aspx
    有的问题可以访问
    http://insus.cnblogs.com
    我也是新手
    数据库连接在MSDN下载资源里面有个名字叫GridViewEditUpdateCancelDelete,的链接地址忘记了,有个列子有部分可以参考下,
      

  3.   

    gridview1.Row.Cells[1].Attributes.Add("style", "word-break :break-all ; word-wrap:break-word");<asp:BoundField DataField="A" HeaderText="a" >
    <ItemStyle Width="20%" Wrap="True" />
    </asp:BoundField>
    或设置固定宽带
    protected void Page_Load(object sender, EventArgs e) 
        { 
        if(!IsPostBack)
             BindData();
        } 
    public void BindData()
    {
    //根据条件绑定数据,最好通过参数化,实现数据绑定防止dsql注入或用实体类,到51aspx.com里看看很多实例
    }
     protected void Button1_Click(object sender, EventArgs e) 
        {  BindData();}
    一般先设置字段在绑定数据源如datalist等
      

  4.   

    实现条件查询要在datasource中加入参数,查询时把参数传进去
      

  5.   

    问题一: 
    这完全是我自己想出来的,总感觉结构很不符合常理,这种实现方法对吗?如果不对,应该如何?? 
    问题二 
    GridView控件有个功能,显示智能标记,能打开一个窗口“GridView任务”,上面有个选择数据源,在那里能够可视化的配置数据源。我想使用这个“GridView任务”配置数据源,是否可以实现不用代码连接数据库了??我试验了,不成功,无法实现,总提示什么参数错误。应该如何在这种情况下实现同样的条件查询呢??如何配置数据源,如何写单击事件代码?? 
    问题三 
    根据显示的数据的长度,GridView总是变化大小,如何才能固定的大小??? 
    先谢谢各位老师了!!
    哥们 
    问题一:代码 重复很多  而且出现一些小的错误
    dropdownlist绑定的时候没有设置  datatextfiled ,datavaluefiled 
    由于本人在网吧  没有环境  将就看一下  呵呵
    问题2:
    绝对是你的设置的问题 
    在设置里面  高级选项   也需要勾选
    问题3:
    解决问题很多