gpt4 book ai didi

c# - 如何使用 OracleDataReader 检索给定记录的所有字段?

转载 作者:行者123 更新时间:2023-11-30 13:13:11 24 4
gpt4 key购买 nike

我的问题,类似于this one ,如何使用 OracleDataReader 检索给定记录的所有字段?目前,我一直在使用这种方法,它一次只返回一列值:

public string Select_File(string filename, string subdirectory, string envID)
{
Data_Access da = new Data_Access();
OracleConnection conn = da.openDB();

OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT * FROM EIP_Deployment_Files"
+ " WHERE Filename ='" + filename + "'"
+ " AND Subdirectory = '" + subdirectory + "'"
+ " AND Environment_ID = '" + envID + "'";
cmd.CommandType = CommandType.Text;

string x;
OracleDataReader dr = cmd.ExecuteReader();
if (dr.HasRows) // file exists in DB
{
dr.Read();
x = dr.GetString(2).ToString(); // return baseline filename (index 2)
}
else
{
x = "New File";
}

cmd.Dispose();
da.CloseDB(conn);
return x;
}

我确信这种方法远非完美,人们会很快指出这一点(我基本上是我的主管给的,因为我以前没有任何 ASP.NET 经验)但我真的关心的是它是否有效。我的问题是:如何修改它以返回给定记录的所有字段?

字段将是 VARCHAR2、CHAR 或 DATE 数据类型(如果这有所不同)并且其中一些值可能为空。我在想我可以将它们转换为字符串并将它们作为列表返回吗?

最佳答案

如果你想要这样的东西:

List<User> lstUser = new List<User>();
string sqlQuery = "Select * from User_T where User_Name='" + oUser.UserName + "' And Password='" +oUser.Password + "' AND IsActive='"+1+"' AND IsDelete='"+0+"'";
string connectionString = "Data Source=ORCL;User Id=ACCOUNTS;Password=ACCOUNTS";
using (DBManager dbManager = new DBManager(connectionString))
{
try
{

dbManager.Open();
OracleDataReader dataReader = dbManager.ExecuteDataReader(sqlQuery);
while (dataReader.Read())
{
oUser = new User();
oUser.Id = Convert.ToInt32(dataReader["ID"]);
oUser.CompanyId = Convert.ToInt32(dataReader["Company_ID"]);
oUser.BranchId = Convert.ToInt32(dataReader["Branch_ID"]);
oUser.UserName = Convert.ToString(dataReader["User_Name"]);
lstUser.Add(oUser);
}
dataReader.Close();
dataReader.Dispose();

}
catch
(Exception)
{


}
finally
{
dbManager.Close();
dbManager.Dispose();
}

关于c# - 如何使用 OracleDataReader 检索给定记录的所有字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16222408/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com