复主键使用NEW构造函数的双参数设置

       这两天在用VS做一个电子档案袋系统,然后自己懒得整那些复杂的代码,就拿出自己第一个学籍管理系统的代码进行了修改,但是中间出现了问题,卡住了。

     遇到什么问题了呢?当时在做学籍管理系统的时候,数据库中数据表很少存在复主键(也就是复合主键)的情况出现,所以在写构造函数的时候,就使用了单参数,这不,为了省事,复制过来直接提示错误,让我找了半天。

     先看看当数据表只有一个主键的时候,我们的构造函数如何写的,代码段如下:

 Private _StudentNo As String
    Public Sub New(ByVal StudentNo As String)
        _StudentNo = StudentNo
        InitializeComponent()
    End Sub
    看的是不是有点像java的私有类,然后使用Set,Get方法呢?在Java中类似的代码应该是这样的:

Class A
{
   private String name;
   private int age;
   
  void setName(String name)
{
   this.name=name;
}

  String getName()
 {
   return name;
}
}
   之后我就偷懒,直接把上面的代码复制了过来(不是java那一段),直接提示出错。

   怎么办呢?

   我纠结了半天,一直没有找到结果,正在浏览自己做的数据库的时候,才发现,那个数据表是两个主键组合在一起,形成的组合主键!
   这时候思路就来了,我把上面的代码修改成这样的:

  

Private _StudentNo As String
    Private _StudentNo1 As String
    Public Sub New(ByVal StudentNo As String, ByVal StudentNo1 As String)
        _StudentNo = StudentNo
        _StudentNo1 = StudentNo1
        InitializeComponent()
    End Sub

   一切OK,附上一张自己做的软件的登录界面,嘻嘻!

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用数据库函数获取主键,具体方法取决于使用的数据库类型。一些常见的数据库函数如下: 1. MySQL:LAST_INSERT_ID()函数可以用来获取上一次插入操作中自动生成的主键值。 2. Oracle:在插入操作后,可以通过SELECT语句加上CURRVAL关键字和序列名称来获取最新的序列值。 3. SQL Server:SCOPE_IDENTITY()函数可以返回当前会话中最后插入的行的标识符。 4. PostgreSQL:使用RETURNING关键字来获取最近一次插入操作的主键值。 注意,在使用这些函数时,必须保证在同一个会话中进行插入操作和获取主键值的操作,否则可能会返回错误的结果。 ### 回答2: 在使用数据库函数获取主键时,可以通过以下几种方式来实现。 1. 使用自增主键:在创建数据库表时,可以为主键字段设置自增属性。这样,在每次插入新记录时,数据库会自动为主键字段生成一个唯一的值。通过获取最后插入的主键值,可以得到最新插入记录的主键。 2. 使用数据库函数:不同数据库系统提供了不同的函数来获取最后插入的主键值。例如,MySQL提供了LAST_INSERT_ID()函数,可以用来获取最后插入的自增主键值。Oracle数据库中,可以使用CURRVAL和NEXTVAL等函数来获取序列的当前值和下一个值。 3. 使用特定语句获取主键:有些数据库系统提供了特定的语句来获取主键值。例如,SQL Server中可以使用SCOPE_IDENTITY()函数来获取最后插入的自增主键值。PostgreSQL中,可以使用RETURNING子句来返回插入记录的主键。 无论使用哪种方式,获取主键的步骤大致如下: 1. 执行插入操作,向数据库表中插入一条新记录。 2. 使用相应的数据库函数或语句,获取最后插入的主键值。 3. 对获取到的主键值进行处理,如存储到变量中或进行其他操作。 需要注意的是,不同的数据库系统可能使用不同的方法来获取主键值。在使用时,要根据具体的数据库系统和相关文档来选择适合的方式。 ### 回答3: 使用数据库函数获取主键可以通过使用数据库系统提供的特定函数来实现。以下是使用SQL语句获取数据库主键的一种常见方法: 1. 首先,使用SHOW TABLES语句获取数据库中的所有表名。例如,使用以下SQL语句查询数据库的所有表名: SHOW TABLES; 2. 使用DESCRIBE语句获取指定表的列信息。例如,使用以下SQL语句查询表名为"tablename"的所有列信息: DESCRIBE tablename; 3. 在返回的列信息中,查找PRIMARY KEY字段,该字段存储了主键信息。 例如,返回的列信息可能如下所示: Field Type Null Key Extra ------------------------------------------------------------- id INT(11) NO PRI auto_increment name VARCHAR(50) YES 在上述例子中,id列被标记为主键(PRI)。 综上所述,通过使用SHOW TABLES和DESCRIBE语句,我们可以获取数据库中特定表的主键信息。根据数据库的具体类型和版本,可能会有一些差异。因此,在实际应用中应该根据具体的数据库类型和语法规则来编写相应的SQL语句。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值