写有关在数据库中查询信息的代码,查询表 XX 中ID中是否有 9527 这项,ID已经设置为主键
OracleConnection thisConnection = new OracleConnection(@"Data Source=**;User ID=**;Password=**");
OracleDataAdapter thisDataAdapter = new OracleDataAdapter("SELECT ID FROM XX", thisConnection);
OracleCommandBuilder thisBuilder = new OracleCommandBuilder(thisDataAdapter);
DataSet thisDataSet = new DataSet();
thisDataAdapter.Fill(thisDataSet, "OOXX");
//设置主键
DataColumn[] keys = new DataColumn[1];
keys[0] = thisDataSet.Tables["OOXX"].Columns["ID"];
thisDataSet.Tables["OOXX"].PrimaryKey = keys;
//查询
DataRow findRow = thisDataSet.Tables["OOXX"].Rows.Find(9527);
//判断
if (findRow == null)
{
Console.WriteLine("9527 not found");
}
else
{
Console.WriteLine("9527 exits");
}
thisConnection.Close();
请问:
这里设置主键的具体作用?原表中ID已经设置为主键了,为何这里还要设置主键?这里是把 内存中的 表数据 的ID列 设置为主键了吗?临时设置主键还有更简单的方法不?
Thanks!
OracleConnection thisConnection = new OracleConnection(@"Data Source=**;User ID=**;Password=**");
OracleDataAdapter thisDataAdapter = new OracleDataAdapter("SELECT ID FROM XX", thisConnection);
OracleCommandBuilder thisBuilder = new OracleCommandBuilder(thisDataAdapter);
DataSet thisDataSet = new DataSet();
thisDataAdapter.Fill(thisDataSet, "OOXX");
//设置主键
DataColumn[] keys = new DataColumn[1];
keys[0] = thisDataSet.Tables["OOXX"].Columns["ID"];
thisDataSet.Tables["OOXX"].PrimaryKey = keys;
//查询
DataRow findRow = thisDataSet.Tables["OOXX"].Rows.Find(9527);
//判断
if (findRow == null)
{
Console.WriteLine("9527 not found");
}
else
{
Console.WriteLine("9527 exits");
}
thisConnection.Close();
请问:
这里设置主键的具体作用?原表中ID已经设置为主键了,为何这里还要设置主键?这里是把 内存中的 表数据 的ID列 设置为主键了吗?临时设置主键还有更简单的方法不?
Thanks!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货