C# 从RDB文件读取数据
我得到了一个RDB扩展名的文件。我需要从这个文件中获取数据,以便将数据放入数据表中。但我不知道如何从RDB文件中读取数据。我在网上找不到信息 请帮帮我C# 从RDB文件读取数据,c#,sql,readfile,C#,Sql,Readfile,我得到了一个RDB扩展名的文件。我需要从这个文件中获取数据,以便将数据放入数据表中。但我不知道如何从RDB文件中读取数据。我在网上找不到信息 请帮帮我 祝您愉快。我将数据作为字符串放入数据表中。我没有在原始代码中包含任何格式 public class Lecture { public DataTable Lecture_RDB(string databaseName) { //Déclarartions des variables double m
祝您愉快。我将数据作为字符串放入数据表中。我没有在原始代码中包含任何格式
public class Lecture
{
public DataTable Lecture_RDB(string databaseName)
{
//Déclarartions des variables
double mem_time, valeur_init;
int ititre, k, l, nbligne;
string entete = ";";
string[] titre = new string[9];
List<string> ligne = new List<string>();
string ecriture = "";
string indicetag = "";
string destination = "";
string mem_titre = "";
DataTable dt = new DataTable();
dt.Columns.Add("Col A", typeof(string));
dt.Columns.Add("Col B", typeof(string));
dt.Columns.Add("Col C", typeof(string));
dt.Columns.Add("Col D", typeof(string));
//Déclarations base de données
SQLite.SQLiteConnection SQLconnect = new SQLite.SQLiteConnection();
SQLiteCommand SQLcommand;
SQLiteDataReader SQLreader;
try
{
//Connexion au fichier RDB
SQLconnect.ConnectionString = "Data Source=" + databaseName + ";";
SQLconnect.Open();
//Creation Requete pour lecture en-tete
SQLcommand = SQLconnect.CreateCommand;
SQLcommand.CommandText = "SELECT * FROM logdata";
//Execution requete
SQLreader = SQLcommand.ExecuteReader();
while (SQLreader.Read())
{
string[] row = SQLreader.Cast<object[]>().Select(x => x.ToString()).ToArray();
dt.Rows.Add(row);
}
}
catch(Exception ex)
{
//Si erreur pendant la lecture du fichier message
Console.WriteLine("Error file reading : {0}.{1} Error", databaseName, ex.Message);
}
return dt;
}
}
公开课
{
公共数据表RDB(字符串数据库名)
{
//Déclarartions des variables
双记忆时间,valeur_init;
int ititre,k,l,nbligne;
字符串entete=“;”;
字符串[]titre=新字符串[9];
List ligne=新列表();
字符串ecriture=“”;
字符串指示符tag=“”;
字符串destination=“”;
字符串mem_titre=“”;
DataTable dt=新的DataTable();
添加(“列A”,类型(字符串));
添加(“B列”,类型(字符串));
添加(“C列”,类型(字符串));
添加(“D列”,类型(字符串));
//德克莱拉斯德多内斯基地酒店
SQLite.SQLiteConnection sqlconnection=new SQLite.SQLiteConnection();
SQLiteCommand-SQLcommand;
SQLiteDataReader;
尝试
{
//菲希尔连接
SQLconnect.ConnectionString=“数据源=“+databaseName+”;”;
SQLconnect.Open();
//创作重头戏
SQLcommand=SQLconnect.CreateCommand;
SQLcommand.CommandText=“从日志数据中选择*”;
//执行请求
SQLreader=SQLcommand.ExecuteReader();
while(SQLreader.Read())
{
string[]row=SQLreader.Cast().Select(x=>x.ToString()).ToArray();
dt.行。添加(行);
}
}
捕获(例外情况除外)
{
//这是费希尔的演讲
WriteLine(“错误文件读取:{0}.{1}错误”,databaseName,ex.Message);
}
返回dt;
}
}
它是Oracle文件还是其他数据库中的文件?我想它来自其他数据库,看起来是这样的:转换后,我希望它是这样的:。我搜索,它可能是Oracle文件,我说不出来。如果您只需要文件名,而不告诉我文件中的数据,我可以给您发送文件。第二个图像是rdb文件中的数据(第一个图像),我通过软件程序转换器获取。rdb文件中的数据是8个传感器,具有许多值和第一列中的日期哇,谢谢你,它工作正常,你是个天才!但我有最后一个问题,我没有得到像我发送的第二张图片那样的列标题。我得到了所有的值,它是完美的,但我需要标题列,我不知道它们存储在哪里。你只需要更改列添加说明。是的,我很愚蠢。我使用开关盒对数据表进行排序,并将其放入新的数据表中,但现在需要将时间转换为日期。实际上,我正在尝试这样做:“DateTime.FromOADate(第[4]行/1000000.ToString;”但它不工作的数据库值字符串或日期?我把所有的东西都转换成了一个不需要的字符串。因此,可以将列类型更改为日期。添加(“D列”,类型(日期时间));然后将数据更改为objects object[]row=SQLreader.Cast();如果你有数字,你也必须这样做。我想要一个函数,直接转换我的数据表dt中的datetime(返回函数)。不能使用SQLreader。如果可能的话,我想在foreach中获取该值并更改完整数据表的日期值