Tag: database

C#获取从SQL查询返回的数据的大小

如何在执行查询时获取从数据库返回的数据的大小(以字节为单位)? 这样做的原因是使用两种不同的技术比较数据库服务器上的负载。 我们运行的报表是根据相同的数据集构建的,这些报表会为每个报表加载整个数据集。 现在我们正在缓存数据集并从缓存中运行报告。 我们按客户端运行报告,一些数据集明显大于其他数据集,我需要一些方法来为数据库服务器负载减少提供可衡量的指标。 我已经尝试通过DbConnection,DbDataReader和DbCommand查找任何现有function,但无法找到它。 如果可能的话,测量给定连接或读取器的数据吞吐量会很棒,但任何解决方案都是可以接受的。 是否可以使用数据库服务器代理来测量它? 该数据库是Oracle 10g。

如何使DataReader从一开始就重新开始读取?

如何制作dr.Read(); 如果条件满足,从头开始再读? 就像是: sqlDataReader dr = command.ExecuteReader(); for(int i=0; dr.Read() ; i++){ if(condition ){ //let dr.Read() start reading from the beginning } }

entity framework代码中的许多关系首先使用“虚拟”关键字相互访问

此摘录代码与显式Junction表成功创建了许多关系,其中包含其他数据。 问题: 我希望能够从学生访问课程,反之亦然, (因此注释的虚拟属性。但如果我取消注释它,它会导致错误(见下文)) 如果我没有显式创建联结表(没有其他数据),则虚拟关键字可以正常工作,因为EF会按惯例创建联结表。 题: 如何在不经过注册的情况下让学生访问课程? 或者那是不可能的? 如果不可能,那么最好的方法是什么呢? ( EF和C#的初学者 ) public class Student { [Key] public int StudentId { get; set; } public string StudentName { get; set; } //public virtual Course Courses { get; set; } } public class Course { [Key] public int CourseId { get; set; } public string CourseName […]

如何将本地数据库文件添加到Visual Studio Mac 2017

我正在Visual Studio(Mac)上用C#创建一个酒店管理服务,我似乎无法找到关于如何向我的项目添加本地数据库文件的好解释。 我在开放式办公室(.odb文件)中创建了我的数据库表,但似乎没有办法让我在我的项目中实现它。 文档中没有任何内容。 任何人都知道如何将数据库添加到Mac Visual Studio项目?

根据数据表值在gridview中设置复选框

我有一个gridview控件,带有复选框字段和几个绑定字段。 复选框字段不直接映射到数据库中的字段。 相反,我想从数据库中的字段读取值并“检查”一些复选框。 例如,给出数据库中的以下数据 – > datatable 已处理的名称日期 Y米老鼠11/15/2011 N唐老鸭4/01/2012 Y James Bond 5/02/2011 我希望gridview显示一个复选框,并将框的值设置为UNCHECKED,其中PROCESSED = N,而PROCESSED = Y则具有不可编辑的复选框或根本没有复选框。 已处理的名称日期 [/]米老鼠11/15/2011 []唐老鸭4/01/2012 [/] James Bond 5/02/2011 要填充gridview,将对数据库运行SQL stmt,并将SQL查询的结果存储在数据表中。 在将数据表绑定到gridview之前,我想检查“已处理”字段并根据该值设置复选框。 这是gridview控件(为清晰起见缩短): 这是我到目前为止在代码背后的内容 SqlCommand cmd = new SqlCommand(sql query here); SqlDataAdapter da = new SqlDataAdapter(); DataTable dt = new DataTable(); da.SelectCommand = cmd; // Save results of […]

文本索引算法

我正在为归档系统编写一个C#winform应用程序。 该系统有一个庞大的数据库,其中一些表有超过150万条记录。 我需要的是一种索引这些记录内容的算法。 主要是,文件是Microsoft office,PDF和TXT文件。 谁有人可以帮忙? 无论是想法,链接,书籍还是代码,我都很感激:) 例如:如果我在数据库中的某个文件夹中搜索“国际”这个词,我会得到包含该词的所有文件按照某个标准排序,例如相关性,修改日期……等等

数据库Command对象的参数顺序真的很重要吗?

我正在调试数据库操作代码,我发现虽然代码从未失败,但从未发生过正确的UPDATE。 这是代码: condb.Open(); OleDbCommand dbcom = new OleDbCommand(“UPDATE Word SET word=?,sentence=?,mp3=? WHERE id=? AND exercise_id=?”, condb); dbcom.Parameters.AddWithValue(“id”, wd.ID); dbcom.Parameters.AddWithValue(“exercise_id”, wd.ExID); dbcom.Parameters.AddWithValue(“word”, wd.Name); dbcom.Parameters.AddWithValue(“sentence”, wd.Sentence); dbcom.Parameters.AddWithValue(“mp3”, wd.Mp3); 但经过一些调整后,这有效: condb.Open(); OleDbCommand dbcom = new OleDbCommand(“UPDATE Word SET word=?,sentence=?,mp3=? WHERE id=? AND exercise_id=?”, condb); dbcom.Parameters.AddWithValue(“word”, wd.Name); dbcom.Parameters.AddWithValue(“sentence”, wd.Sentence); dbcom.Parameters.AddWithValue(“mp3”, wd.Mp3); dbcom.Parameters.AddWithValue(“id”, wd.ID); dbcom.Parameters.AddWithValue(“exercise_id”, wd.ExID); 为什么在OleDb连接的情况下必须在WHERE子句中给出最后一个参数是如此重要? 之前使用过MySQL,我可以(并且通常会)首先编写WHERE子句的参数,因为这对我来说更合乎逻辑。 一般查询数据库时参数顺序是否重要? 一些性能问题还是什么? […]

nhibernate审核更新事件

以下代码适用于插入,但更新modifier永远不会设置,任何想法为什么? 正在运行预更新代码,并将状态和实体值正确设置为所需的值。 但是在查看生成的sql时,nhibernate不包含更新查询中的字段。 /// Updates auditable objects public class AuditEventListener : IPreInsertEventListener, IPreUpdateEventListener { private ISecurityManager securityManager; public bool OnPreInsert( PreInsertEvent args ) { var auditable = args.Entity as IAuditable; if (auditable != null) { Set( x => auditable.Creator, args.Persister, auditable, args.State, SecurityManager.Identity ); Set( x => auditable.DateAdded, args.Persister, auditable, args.State, Clock.Now ); } return […]

C# – 我应该使用静态数据库连接

在我连接到Orace数据库的应用程序中,我总是创建一个新连接,打开它,执行OracleCommands,最后关闭它。 最近我认为实现静态连接会更好。 假设我有一个可以从任何地方访问的静态连接。 每次我需要连接到数据库时,我都可以检查静态连接的状态,如果它尚未打开则打开它,然后关闭它。 你认为这会有益还是有更多的缺点?

为什么EF代码首先生成一个无关的外键列?

我正在使用entity framework代码 – 首先自动创建我的数据库模式,我的一个实体看起来像这样: public class AssessmentsCaseStudies { #region Persisted fields [Required] [Key, Column(Order=0)] [ForeignKey(“Assessment”)] public int AssessmentId { get; set; } [Required] [Key, Column(Order=1)] [ForeignKey(“CaseStudy”)] public int CaseStudyId { get; set; } [Required] public int Score { get; set; } [ForeignKey(“Follows”)] public int? FollowsCaseStudyId { get; set; } #endregion #region Navigation properties public virtual […]