Я создал две отдельные формы и храню данные в одной таблице, но проблема в том, что хранилище данных по отдельности строки? Я хочу хранить данные в одной строке.
, а затем я создал две отдельные формы и храню данные в одной таблице, и мои данные хранятся в отдельной строке, что является проблемой?
имя таблицы: менеджер
Имя поля базы данных:
- managerid int pk autoincrement
- firstname varchar(50)
- lastname varchar(50)
- address varchar(50)
- permanantaddress varchar(50)
- mno int
- experiance int
- currentcompanyname varchar(50)
- previouscompanyname varchar(50)
- currentsalary int
- expectedsalary int
Registrationform.aspx
<div>
FirstName: <asp:TextBox ID="txtfname" runat="server"></asp:TextBox>
<br />
lastName: <asp:TextBox ID="txtlname" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="Insert" OnClick="Button1_Click" />
</div>
Registrationform.aspx.cs
protected void Button1_Click(object sender, EventArgs e)
{
string query = "Insert into manager (firstname,lastname) values(@firstname,@lastname)SELECT SCOPE_IDENTITY()";
SqlCommand cmd = new SqlCommand(query, cn);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@firstname", txtfname.Text);
cmd.Parameters.AddWithValue("@lastname",txtlname.Text);
cn.Open();
int? primaryKey = Convert.ToInt32(cmd.ExecuteScalar());
this.Session["primaryKey"] = primaryKey;
if(primaryKey != null)
{
Response.Redirect("Contactus.aspx");
}
cmd.ExecuteNonQuery();
cn.Close();
}
Contactus.aspx
Address:
<asp:TextBox ID="txtadd" runat="server"></asp:TextBox>
<br />
PermanantAddress:
<asp:TextBox ID="txtperaddress" runat="server"></asp:TextBox>
<br />
Mno:
<asp:TextBox ID="txtmno" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="Insert" OnClick="Button1_Click" />
Contactus.aspx.cs
string sessionvariable;
protected void Page_Load(object sender, EventArgs e)
{
sessionvariable = Session["primaryKey"].ToString();
}
protected void Button1_Click(object sender, EventArgs e)
{
string query = "update manager set address=@address,permanantaddress=@permanantaddress,mno=@mno where managerid=@managerid";
SqlCommand cmd = new SqlCommand(query, cn);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@address", txtadd.Text);
cmd.Parameters.AddWithValue("@permanantaddress", txtperaddress.Text);
cmd.Parameters.AddWithValue("@mno", txtmno.Text);
cn.Open();
if (sessionvariable != null)
{
**here give an error System.Data.SqlClient.SqlException: Must declare the scalar variable "@managerid"**
cmd.ExecuteNonQuery();
}
cn.Close();
}
Я хочу чтобы хранить данные в одной строке.
см. мое окно просмотра. Image :
моя проблема в том, что хранилище данных в отдельной строке является моей проблемой?
введите описание изображения здесь
выдайте ошибку: здесь выдайте ошибку System.Data.SqlClient.SqlException: необходимо объявить скалярную переменную "@managerid"