首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将自动递增的主键的数据从sql服务器获取到我的数据视图?

问如何将自动递增的主键的数据从sql服务器获取到我的数据视图?
EN

Stack Overflow用户
提问于 2015-03-09 06:25:26
回答 1查看 94关注 0票数 0

这是一个函数,用于获取要插入到数据集中的数据。我也有不同的代码按钮点击查看数据的数据。我使用sql server 2014作为我的数据库,并且在创建该表时已经设置了自动增量。自动递增的值是项id。

代码语言:javascript
复制
   public:  bool AddSuppliesToTable(Supplies^ rowtosave, SqlConnection^conn, 
   SqlCommand^ cmd)
      {
    Trace::WriteLine("saving to table");
    cmd->Connection = conn;
    cmd->CommandText = "SET IDENTITY_INSERT Supplies ON";
    cmd->CommandText = "Insert Into Supplies (item_id, product_name,  
    stock_amnt,price,item_category) values(@item_id, @product_name, 
    @stock_amnt,@price,@item_category);";
    cmd->CommandText = "SET IDENTITY_INSERT Supplies OFF";
    cmd->Parameters->Add("@item_id",rowtosave->getId());
    cmd->Parameters->Add("@product_name", rowtosave->getProductNAme());
    cmd->Parameters->Add("@stock_amnt", rowtosave->getStockAmount());
    cmd->Parameters->Add("@price", rowtosave->getPrice());
    cmd->Parameters->Add("@item_category", rowtosave->getItemCategory());
    cmd->ExecuteReader();   
    return true;
}

这是datagridview的函数。

代码语言:javascript
复制
   private: System::Void loadtablebutton_Click(System::Object^  sender,  
   System::EventArgs^  e)
   {
         String^ sCon = "Data Source=Chevy; Initial Catalog=Ulti-Stocks;  
         Integrated Security = true";
         SqlConnection^ conn = gcnew SqlConnection(sCon);
         SqlCommand^ cmd = gcnew SqlCommand();
         cmd->Connection = conn;
         cmd->CommandText = "Select *from Supplies";
         try{
             SqlDataAdapter^ sda = gcnew SqlDataAdapter();
             sda->SelectCommand = cmd;
             DataTable^ dt = gcnew DataTable();
             sda->Fill(dt);
             BindingSource^ bsource = gcnew BindingSource();
             bsource->DataSource = dt;
             dataGridView1->DataSource = bsource;
             sda->Update(dt);
             MessageBox::Show("Loading Table Data was successful");
         }
         catch (Exception^ ex)
         {
             MessageBox::Show(" Error loading data ");
         }

      }

下面的代码是一个按钮来加载数据网格中的数据。

代码语言:javascript
复制
    private: System::Void button1_Click(System::Object^  sender,  
    System::EventArgs^  e)
     {
             UltiStocks::Supplies^ supplies = gcnew UltiStocks::Supplies();


             int id, stock;
             float price;

             try{

                 supplies->setItemId(id = Convert::ToInt32(Text));
                 supplies->setProductName(itemnametextbox->Text);
                 supplies->setStockAmount(stock =  
                Convert::ToInt32(stockamnttextBox->Text));
                 supplies->setPrice(price = Convert::ToSingle(pricetextBox- 
                 >Text));
                 supplies->setItemCategory(categorytextBox->Text);
                 UltiStocks::DataBase^ database = gcnew 
                 UltiStocks::DataBase();
                 database->OpenConnection();
                 database->AddItemtable(supplies);
                 database->CloseConnection();
             }
             catch (Exception^ ex)
             {
                 MessageBox::Show(ex->Message);
             }
EN

回答 1

Stack Overflow用户

发布于 2015-03-09 06:43:52

SELECT @@IDENTITY;

在完成INSERT、SELECT INTO或批量复制语句之后,@@IDENTITY包含语句生成的最后一个标识值。

来源:https://msdn.microsoft.com/en-us/library/ms187342.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28936265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档