所以我在ASP.NET中做一个小型网站,我需要将一些数据插入到数据库中。到目前为止,我有这个,它与我在互联网上看到的不同:
<h1> Criar Novo Doente </h1>
<asp:SqlDataSource
ID="insertDoente"
runat ="server"
ConnectionString ="<%$ ConnectionStrings:principal %>"
ProviderName = "System.Data.SqlClient"
InsertCommand="INSERT INTO Doentes (do_Nome,do_Sexo,do_DataNascimento,do_IsInternado) VALUES (@do_Nome,@do_Sexo,@do_DataNascimento,0)" >
<InsertParameters>
<asp:Parameter Name="do_Nome" Type="String" />
<asp:Parameter Name="do_Sexo" Type="String" />
<asp:Parameter Name="do_DataNascimento" Type="DateTime" />
</InsertParameters>
</asp:SqlDataSource>
<asp:FormView ID="criarDoente" DefaultMode ="Insert" runat ="server"
DataSourceID="insertDoente"
DataKeyNames="do_Id"
OnItemInserted="MensagemFormView_ItemInserted">
<InsertItemTemplate>
<ul>
<li> </li>
</ul>
<label>Nome: </label> <asp:TextBox ID="nome" runat ="server" MaxLength="100" TextMode="SingleLine" Text='<%# Bind("do_Nome") %>' />
<asp:RequiredFieldValidator ID="NomeRequiredFieldValidator" ErrorMessage="Tem de indicar o nome!"
ControlToValidate="nome" Display="Dynamic" runat="server" />
<br/>
<label>Sexo </label> <asp:RadioButtonList id="Sexo" runat="server" SelectedValue='<%# Bind("do_Sexo") %>'><asp:ListItem id="Masc" Text ="Masculino" Value = "Masculino"></asp:ListItem> <asp:ListItem id="fem" Text ="Feminino" Value ="Feminino"></asp:ListItem> </asp:RadioButtonList>
<br/>
<label>Data de Nascimento: </label> <asp:TextBox ID="dataNasc" runat ="server" MaxLength="100" TextMode="SingleLine" Text='<%# Bind("data") %>' />
<asp:CompareValidator id="dataCompare" ControlToValidate="dataNasc"
Display="Dynamic" Operator="DataTypeCheck"
Type="Date"
ErrorMessage="A data tem de estar no formato YYYY/MM/DD"
ForeColor="Red" runat="server" />
<br />
<asp:Button ID="Criar" runat="server" Text="Criar" CommandName="Insert" />
</InsertItemTemplate>
</asp:FormView>
当我按下按钮进行创建时,它会触发onItemInserted事件,但没有任何内容添加到数据库中:S我做错了吗?
编辑:插入命令的字段按照它们在数据库中的相同方式排序,只缺少ID但不需要或是吗?