Hola, en realidad no es un problema de .net, aquí te mando un pequeño ejemplo:
Código:
create table foo(
id int identity(1,1) primary key,
des varchar(255)
)
Cita: como insertar datos en una tabla q tiene clave primaria de autonumeracion
Eso no es problema de .Net sino de la sentencia SQL que uses, por ejemplo para insertar en la tabla "foo" arriba mostrada tienes que ejecutar "insert into foo(des) values('algo')", como te darás cuenta no tienes que pasarle el campo del autonumérico ya que este se genera sólo.
Código:
<%@ Page Language="C#" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server">
SqlCommand myCommand = new SqlCommand("select * from foo", new SqlConnection("server=localhost;database=test;uid=sa;pwd=;"));
void Page_Load() {
if (!IsPostBack) LoadData();
}
void LoadData(){
myCommand.CommandText="select * from foo";
myCommand.Connection.Open();
DataGrid1.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
DataGrid1.DataBind();
}
void cmdInsertar_Click(object sender, EventArgs e) {
myCommand.CommandText="insert into foo(des) values(@des)";
myCommand.Parameters.Add("@des",txtDescripcion.Text);
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
myCommand.Connection.Close();
LoadData();
}
</script>
<html>
<head>
</head>
<body style="FONT-FAMILY: arial">
<h2>Simple Stored Procedure
</h2>
<form runat="server">
<p>
<asp:TextBox id="txtDescripcion" runat="server"></asp:TextBox>
<asp:Button id="cmdInsertar" onclick="cmdInsertar_Click" runat="server" Text="Insertar"></asp:Button>
</p>
<p>
<asp:datagrid id="DataGrid1" runat="server" EnableViewState="False" ForeColor="Black" BackColor="White" CellPadding="3" GridLines="None" CellSpacing="1">
<HeaderStyle font-bold="True" forecolor="white" backcolor="#4A3C8C"></HeaderStyle>
<ItemStyle backcolor="#DEDFDE"></ItemStyle>
</asp:datagrid>
</p>
</form>
</body>
</html>