插入数据库时出错

Pauline Gail Mallari Chan

我有一个基本上是这样的网络表格,

在此处输入图片说明

我的页面上有标签,按钮,GRIDVIEW,文本框

显示的数据来自另一个数据库

每当我尝试再次插入另一个数据库时,都会发生错误:

仅当使用列列表且IDENTITY_INSERT为ON时,才能为表'PO2'中的标识列指定一个显式值。

我正在使用Sql Server

这里

ASPNET代码:

 <table class="col-lg-12">

    <tr>
        <td class="style5">  
        Shipping Method</td>
        <td class="style6">Shipping Term</td>
        <td class="style6">Payment Term</td>
        <td class="style4">Delivery Date</td>
         <td class="style4">Final Delivery Date</td>
    </tr>

    <tr>
        <td> 
            <asp:Label ID="lbShippingMethod" runat="server" BorderColor="Black" Font-Size="Larger" /></td>
        <td> 
            <asp:Label ID="lbShippingTerm" runat="server" BorderColor="Black" Font-Size="Larger" /></td>

        <td> 
            <asp:Label ID="lbPaymentTerm" runat="server" BorderColor="Black" Font-Size="Larger" /></td>
        <td> 
            <asp:Label ID="lbDeliveryDate" runat="server" BorderColor="Black" Font-Size="Larger" /></td>
        <td> 
           <asp:Textbox ID="txtDate" runat="server" BorderColor="Black" Font-Size="Larger" type="date" /></td>
    </tr>

        <tr>
            <td>
                <br />
                <br />
            </td>
        </tr>

        </div>
    </table>


<div class="container">
<div class="col-lg-10 pull-right">
 <table class="col-lg-12">

<tr>  
     <td>
         PR#</td> 


    <td class="style2">  
        Product Name  
    </td> 
    <td>Product#</td>

    <td>Price</td>

    <td>  
        Quantity  
    </td> 


</tr>  
<tr>  

            <td>
                <asp:Label ID="PRID" runat="server" BorderColor="Black" Font-Size="Larger" />
           </td>

           <td>
                <asp:DropDownList ID="ddlName" runat="server" class="form-control" 
                    Width="150px" onselectedindexchanged="ddlName_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>
           </td>

 <td class="style2">   
    <asp:Label ID="lbProductID" runat="server" Width="90px"></asp:Label>
 </td> 


  <td class="style2">   
    <asp:Label ID="lbPrice" runat="server"></asp:Label>
     </td>  

      <td>  
      <asp:TextBox ID="Quantity" runat="server" Width="90px" Type="Number"  required></asp:TextBox>  
      </td>

      <td>  
      <asp:Label ID="Amount" runat="server" Width="90px" Type="Number" required> </asp:Label>  
  </td>


    <div class="pull-right">  
        <td><asp:Button ID="btnAdd" runat="server" class="btn btn-default" 
            style="background-color:Silver" text="Add Product"   ForeColor="Black" 
            onclick="btnAdd_Click" />
    </td>
    </div>
    </tr>
    </table>
    </div>  
    </div>
    <br />



<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"   Width="1000px" HorizontalAlign="Center"
            DataSourceID="SqlDataSource1">
    <Columns>
        <asp:BoundField DataField="PRID" HeaderText="PRID" SortExpression="PRID"  />
        <asp:BoundField DataField="ProductID" HeaderText="ProductID" 
            SortExpression="ProductID" />
        <asp:BoundField DataField="ProductName" HeaderText="ProductName" 
            SortExpression="ProductName" />
        <asp:BoundField DataField="Price" HeaderText="Price"   SortExpression="Price" />
        <asp:BoundField DataField="Quantity" HeaderText="Quantity" 
        SortExpression="Quantity" />
        <asp:BoundField DataField="Amount" HeaderText="Amount" 
            SortExpression="Amount" />
    </Columns>
</asp:GridView>

        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$  ConnectionStrings:MyOwnMeatshopConnectionString %>" 
        SelectCommand="SELECT [PRID], [ProductID], [ProductName], [Price],  [Quantity], [Amount] FROM [PRDetails] WHERE ([PRID] = @PRID)">
        <SelectParameters>
            <asp:QueryStringParameter Name="PRID" QueryStringField="ID"  Type="Int32" />
        </SelectParameters>
    </asp:SqlDataSource>


   <div class="container">
    <div class="pull-right col-lg-5">
        <h4 />SUB TOTAL Php   <asp:Label ID="lbSubTotal" runat="server"></asp:Label>
        <h4 />VAT (12%) 
        Php   <asp:Literal ID="ltVAT" runat="server"></asp:Literal>
        <h4 />TOTAL Php    <asp:Literal ID="ltTotal" runat="server">    </asp:Literal>
     </div>
   </div>  


   <div class="pull-right">  
    <td>
     <asp:Button ID="btnSum" runat="server" class="btn btn-default"  style="background-color:Silver" text="TOTAL" ForeColor="Black" />
    </td>
   </div>

   <br />
   <br />
   <br />
   <br />

     <div class="form-group">
            <label class="control-label col-lg-4">Remarks</label>
            <div class="col-lg-8">
                <asp:TextBox ID="txtRemarks" runat="server" class="form- control" MaxLength="100" TextMode="MultiLine" />
            </div>
        </div>

    <div class="pull-right"> 
     <div class="form-group">
     <asp:Button ID="btnApprove" runat="server" class="btn btn-success"  text="Approve" 
             onclick="btnApprove_Click" />
            <asp:Button ID="btnCancel" runat="server" class="btn"    style="color:White" text="Disapprove" BackColor="Black"  PostBackUrl="~/Default.aspx" />


            </div>
        </div>
</div>

    </form>

这里是BTN代码(APPROVE)

void addtoPO()
    {
        con.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = con;
        cmd.CommandText = "INSERT INTO PO2 VALUES (@UserID, @SupplierID, @CompanyName, @ShippingMethod, " +
            "@ShippingTerm, @Term, @DeliveryDate, @ModifiedBy, @DateModified, @Status, @Remarks, @PODate, @DeliveryDate)";
        cmd.Parameters.AddWithValue("@UserID", Session["userid"].ToString());
        cmd.Parameters.AddWithValue("@SupplierID", lbSupplierID.Text);
        cmd.Parameters.AddWithValue("@CompanyName", lbCompName.Text);

        cmd.Parameters.AddWithValue("@ShippingMethod", lbShippingMethod.Text);
        cmd.Parameters.AddWithValue("@ShippingTerm", lbShippingTerm.Text);
        cmd.Parameters.AddWithValue("@Term", lbPaymentTerm.Text);

        cmd.Parameters.AddWithValue("@ModifiedBy", lbFNA.Text + lbLNA.Text);
        cmd.Parameters.AddWithValue("@DateModified", DateTime.Now);
        cmd.Parameters.AddWithValue("@Status", "Approved");
        cmd.Parameters.AddWithValue("@Remarks", txtRemarks.Text);

        cmd.Parameters.AddWithValue("@PODate", DateTime.Now);
        cmd.Parameters.AddWithValue("@DeliveryDate", txtDate.Text);
        cmd.ExecuteNonQuery();
        con.Close();
    }
    protected void btnApprove_Click(object sender, EventArgs e)
    {
        addtoPO();

        foreach (GridViewRow row in GridView1.Rows)
        {

            if (row.RowType == DataControlRowType.DataRow)
            {


                int ProductID = int.Parse(GridView1.Rows[row.RowIndex].Cells[1].Text);
                string ProductName = GridView1.Rows[row.RowIndex].Cells[2].Text;
                decimal Price = decimal.Parse(GridView1.Rows[row.RowIndex].Cells[3].Text);
                int Quantity = int.Parse(GridView1.Rows[row.RowIndex].Cells[4].Text);
                int Amount = int.Parse(GridView1.Rows[row.RowIndex].Cells[5].Text);

                con.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = con;
                cmd.CommandText = "INSERT INTO PODetails (ProductID, Name, Price, Quantity, Amount) " +
                     "VALUES (@ProductID, @Name, @Price, @Quantity, @Amount)";

                //cmd.Parameters.AddWithValue("@UserID", Session["userid"].ToString());
                cmd.Parameters.Add("@ProductID", SqlDbType.VarChar).Value = ProductID;
                cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = ProductName.ToString();
                cmd.Parameters.Add("@Price", SqlDbType.Decimal).Value = Price;
                cmd.Parameters.Add("@Quantity", SqlDbType.Int).Value = Quantity;
                cmd.Parameters.Add("@Amount", SqlDbType.Int).Value = Amount;

                cmd.ExecuteNonQuery();



                GridView1.EditIndex = -1;
                GridView1.DataBind();

                //con.Open();

                //cmd.CommandText = "DELETE FROM Orders";
                //cmd.Parameters.Add("@RefNo", RefNo);


                con.Close();

            }
        }

我要插入两个不同的表,这就是为什么插入被分隔并且其他值被获取到GRIDVIEW的原因。

我已经打开和关闭is身份,但是没有用。

我有其他插入都很好,这只是一个有错误。

伊万·斯塔诺汀(Ivan Starostin)
insert into TABLE ([column list])
values ([values list])

您尚未列出插入的列列表,因此服务器尝试填充“从左到右”的所有列。下一个错误将是为表列提供的值不足。当前,它尝试将@UserID张贴到PO2.ID,将@SupplierID张贴到PO2.UserID,依此类推。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

插入数据库时出错

来自分类Dev

插入sqlite数据库时出错

来自分类Dev

将数据插入SQLite数据库时出错

来自分类Dev

将数据插入MySQL数据库时出错

来自分类Dev

插入数据以访问数据库时出错

来自分类Dev

尝试将数据插入数据库时出错

来自分类Dev

将数据插入数据库表时出错

来自分类Dev

将数据插入数据库时出错

来自分类Dev

尝试从表单将数据插入数据库时出错

来自分类Dev

将值插入数据库时出错

来自分类Dev

插入JavaFX中的MYSQL数据库时出错

来自分类Dev

使用php插入sql数据库时出错

来自分类Dev

将数组值插入数据库时出错

来自分类Dev

将日期插入sql数据库时出错?

来自分类Dev

将 PHP 表单插入 Mysql 数据库时出错

来自分类Dev

在 Python 中插入数据库时出错

来自分类Dev

尝试将值插入数据库并获取最后插入的ID时出错

来自分类Dev

使用javafx将数据插入mysql数据库时出错

来自分类Dev

在laravel 5中将数据插入mysql数据库时出错

来自分类Dev

在Android中使用SQLite数据库插入数据时出错

来自分类Dev

使用php代码在Oracle数据库中插入变量数据时出错

来自分类Dev

使用javafx将数据插入mysql数据库时出错

来自分类Dev

使用PHP将数据插入MySQL数据库时出错

来自分类Dev

尝试用于“插入” ms-access数据库时出错

来自分类Dev

在sqlite数据库中插入日期和时间时出错

来自分类Dev

DapperPlus和Oracle,知道插入数据库时哪一行抛出错误

来自分类Dev

尝试使用node-oracledb在Oracle数据库中将图像插入BLOB类型时出错

来自分类Dev

SQLite 数据库:插入姓名、地址、电话号码时出错

来自分类Dev

运行更新数据库时出错

Related 相关文章

热门标签

归档