我需要在表中找到最大的ID (prim键),获得值&使用它插入一个新的行在我的表-需要使用datasource1.Sel

本文关键字:插入 datasource1 Sel 我的 一个 ID prim | 更新日期: 2023-09-27 18:17:45

c# MSSql:我需要在我的表中找到最大的ID(主键),获取值并使用它在我的表中插入新行。我需要使用datasource1.SelectCommand。我试过sqlCommand,但那不起作用。下面是我目前编写的代码:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Windows.Input;
using System.Data.SqlClient;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Project
{
    public partial class ListProperty : System.Web.UI.Page
    {
       //Other code here (Page_LOad, Dropdown list, etc)
        protected void OnButtnClick(object sender, EventArgs e)
        {
            string sqlProc1 = "SELECT row from PROPERTY ORDER BY Id DESC Limit 1";
            //SqlDataAdapter MxID = new SqlDataAdapter(sqlProc1,SqlDataSource1.SqlCacheDependency);
            //SqlDataSource1.SelectCommand = sqlProc1;
            //SqlConnection sqlConnection1 = new SqlConnection();
            EntityDataSource cmd = new EntityDataSource();
            //SqlCommand cmd = new SqlCommand();
            Object returnValue;
            cmd.CommandText = sqlProc1;
            //cmd.CommandType = System.Data.CommandType.Text;
            //cmd.Connection = sqlConnection1;
            //sqlConnection1.Open();
            returnValue = cmd.CommandText;
            //sqlConnection1.Close();
            Object MxID = returnValue;
            MxID.ToString();
            int MxIDint = (Int32)MxID + 1;
            String strMxID = MxIDint.ToString();
            sqlProc1 = "INSERT INTO PROPERTY(ID,Property_ID,Type_ID,Coordinates) VALUES(" + strMxID + ",'1','1','0.')";
            SqlDataSource1.SelectCommand = sqlProc1;
            //GridView1.DataBind();  //generates error
        }
    }
}

请帮忙!

我需要在表中找到最大的ID (prim键),获得值&使用它插入一个新的行在我的表-需要使用datasource1.Sel

使用这个SQL查询:

select MAX(id) from PROPERTY;
queryResult = dbContext.Database
    .SqlQuery<int>("SELECT Max(Id) from PROPERTY ")
    .Single();

查看更多细节:获取标量值

我通过使用Joe的建议使Id键自增来解决这个问题。但我得自己想办法。我以前试过,但我再试一次,它成功了。