|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
数据库有很多应用领域,但是如果你单单学数据库的话基本上做数据库管理员比较合适而已,跟领域结合的你还得再学习那些领域知识。(其实数据挖掘我真是不懂,本来这学期开了一门课了。asp.net|datagridASP.netDataGrid为我们供应的内建的纪录行编纂功效,可是没有供应内建的增加新行的功效。一个举措就是:在DataTable中增加新行,然后再从头绑定到DataGrid,这个举措可行,但在更新前必要举行确认,大概会发生空行。别的一个办理举措就是:使用DataGridfootertemplate来供应一个空的行,如许既能够进步速率,也能够制止别的办法带来的不敷。
为了为扫瞄者供应一个空行,我们利用DataGrid的FooterTemplate,我们间接在FooterTemplate里增加文本框,如许能够制止不用要的操纵:好比点击“编纂”按钮等。如许也能够削减来去数据提交的次数。我们这里仍旧LinkButton(拔出),并设置CommandName属性为“Insert”,这个CommandName在DataGrid的ItemCommand事务中,确保只要用户点击了“Insert”LinkButton才增加纪录。增加到数据库的办法是很复杂的。
上面的这个例子供应了DataGrid疾速增加新行的功效。aspx代码和CoheBehind代码分离以下,注重变动数据录毗连字符串:
检察例子
InsertableDataGrid.aspx
<%@PageLanguage="<ahref="http://dev.21tx.com/language/vb/"target="_blank">VB</a>"AutoEventWireup="false"Codebehind="InsertableDataGrid.aspx.vb"Inherits="aspx<ahref="http://dev.21tx.com/web/"target="_blank">Web</a>.InserTableDataGrid"%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<metaname="GENERATOR"content="MicrosoftVisualStudio.NET7.0">
<metaname="CODE_LANGUAGE"content="VisualBasic7.0">
<metaname="vs_defaultClientScript"content="<ahref="http://dev.21tx.com/web/javascript/"target="_blank">JavaScript</a>">
<metaname="vs_targetSchema"content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<bodyMS_POSITIONING="GridLayout">
<formid="Form1"method="post"runat="server">
<asp:DataGridid="DataGrid1"runat="server"BorderColor="#CC9966"BorderStyle="None"
BorderWidth="1px"BackColor="White"CellPadding="4"ShowFooter="True"AutoGenerateColumns="False">
<SelectedItemStyleFont-Bold="True"ForeColor="#663399"BackColor="#FFCC66"></SelectedItemStyle>
<ItemStyleForeColor="#330099"BackColor="White"></ItemStyle>
<HeaderStyleFont-Bold="True"ForeColor="#FFFFCC"BackColor="#990000"></HeaderStyle>
<FooterStyleForeColor="#330099"BackColor="#FFFFCC"></FooterStyle>
<Columns>
<asp:TemplateColumnHeaderText="EmployeeID">
<ItemTemplate>
<asp:Labelid=Label3runat="server"Text=<%#DataBinder.Eval(Container,"DataItem.employeeid")%>>
</asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:LinkButtonid="LinkButton1"runat="server"CommandName="Insert">Insert</asp:LinkButton>
</FooterTemplate>
<EditItemTemplate>
<asp:TextBoxid=TextBox5runat="server"Text=<%#DataBinder.Eval(Container,"DataItem.employeeid")%>>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumnHeaderText="LastName">
<ItemTemplate>
<asp:Labelid=Label1runat="server"Text=<%#DataBinder.Eval(Container,"DataItem.lastname")%>>
</asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBoxid="TextBox2"runat="server"></asp:TextBox>
</FooterTemplate>
<EditItemTemplate>
<asp:TextBoxid="TextBox1"runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumnHeaderText="FirstName">
<ItemTemplate>
<asp:Labelid=Label2runat="server"Text=<%#DataBinder.Eval(Container,"DataItem.firstname")%>>
</asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBoxid="TextBox4"runat="server"></asp:TextBox>
</FooterTemplate>
<EditItemTemplate>
<asp:TextBoxid="TextBox3"runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyleHorizontalAlign="Center"ForeColor="#330099"BackColor="#FFFFCC"></PagerStyle>
</asp:DataGrid>
</form>
</body>
</HTML>
InsertableDataGrid.aspx.vb
ImportsSystem.Data
ImportsSystem.Data.SqlClient
PublicClassInserTableDataGrid
InheritsSystem.Web.UI.Page
ProtectedWithEventsDataGrid1AsSystem.Web.UI.WebControls.DataGrid
#Region"WebFormDesignerGeneratedCode"
ThiscallisrequiredbytheWebFormDesigner.
<System.Diagnostics.DebuggerStepThrough()>PrivateSubInitializeComponent()
EndSub
PrivateSubPage_Init(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Init
CODEGEN:ThismethodcallisrequiredbytheWebFormDesigner
Donotmodifyitusingthecodeeditor.
InitializeComponent()
EndSub
#EndRegion
DimconnstrAsString="IntegratedSecurity=SSPI;UserID=sa;InitialCatalog=NorthWind;DataSource=.
etsdk"
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
IfNotPage.IsPostBackThen
BindGrid()
EndIf
EndSub
SubBindGrid()
DimcnnAsNewSqlConnection(connstr)
DimdaAsNewSqlDataAdapter("selectemployeeid,lastname,firstnamefromemployees",cnn)
DimdsAsNewDataSet()
da.Fill(ds,"employees")
DataGrid1.DataSource=ds
DataGrid1.DataBind()
EndSub
PrivateSubDataGrid1_ItemCommand(ByValsourceAsObject,ByValeAsSystem.Web.UI.WebControls.DataGridCommandEventArgs)_
HandlesDataGrid1.ItemCommand
Ife.CommandName="Insert"Then
DimcnnAsNewSqlConnection(connstr)
Dimt1AsTextBox=e.Item.FindControl("textbox2")
Dimt2AsTextBox=e.Item.FindControl("textbox4")
cnn.Open()
DimcmdAsNewSqlCommand("insertintoemployees(lastname,firstname)values("&t1.Text&","&t2.Text&")",cnn)
cmd.ExecuteNonQuery()
cnn.Close()
BindGrid()
EndIf
EndSub
EndClass它有很多缺点的,有兴趣可以到网上去搜索一下。于是微软有发明了“下一代”C++:C++/CLI语言,这个可以解决在.NETFramework中,托管C++产生的问题。在《程序员》杂志上,lippman和李建中合作连载介绍了C++/CLI语言。 |
|