Tag: sql server

如何使用SQL Server数据库部署或发布Windows应用程序

我开发了一个带有SQL Server数据库的C#应用​​程序。 当我尝试发布应用程序来测试它>>它在我的机器上正常工作(包括SQL Server数据文件夹中的数据库)>>但是当我将该已发布的应用程序移动到另一台机器时,它不起作用。 我想知道将项目与数据库一起部署的最简单方法 我在app.config使用此连接字符串: 我应该怎么做才能将数据库与已部署的应用程序放在一起,并在app.config动态修改数据库的连接字符串? 我在用户机器上打开项目时显示的exception说: 附加文件C:\ Program Files(x86)\ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ Data \ KBank.mdf的自动命名数据库的尝试失败,存在同名的数据库或无法打开指定的文件,或其在UNC份额上的位置 它似乎无法读取SQL数据库

如何正确地向数据库显示和写入复选框列表? (理论/逻辑帮助)

请注意,我现在拥有的数据库设计完全处于沙盒模式。 什么都没有最终确定。 所有东西(再次是沙盒模式)都在一个表中。 此外,我现在正在寻找编码帮助。 我正在寻找适合这个难题的理论/逻辑方法,所以我可以自己进行编码。 我这样学得更好。 如果我需要编码帮助,我会回到这里寻求进一步的帮助。 我正在为手动创建的表单提交创建一些CheckBoxList中的第一个。 我一直在寻找多种方法来不仅创建所述CheckBoxList而且将其输入数据库。 然而,我面临的挑战(主要是因为我之前没有遇到过这种情况,我想了解这一点)是我不仅要担心在数据库中正确输入项目,而且我最终需要根据这些条目生成报告或制作可打印的表格。 假设我有一个特定类型的烧烤烤架的订单,我需要将此表格发送到全国各地的分销中心。 如果在表格上突出显示,配送中心将需要拉出所述烧烤。 以下是分配中心的CheckBoxList的外观: 所有 达拉斯 迈阿密 洛杉矶 西雅图 纽约 芝加哥 凤凰 蒙特利尔 如果检查了特定的城市(或所有城市),那么配送中心将拉动烧烤架进行装运。 增加的部分是我想: 能够从该数据库创建一个网格视图,用于报告以记录哪个配送中心获得了烧烤订单 能够创建报告,告诉分销中心在给定月份(以及其他报告中)发出烧烤订单。 这就是我现在正在玩的东西。 在我的aspx页面中,我有一个编程的复选框列表,其中所有的配送中心都作为列表项输入,以及“所有”(配送中心)的选项。 我还在此表中创建了一个专用列,其中包含listitem中的所有信息,并为此表编程了sqldataconnection,以便为此目的利用数据库的可编程性。 在将选择内容写入数据库时​​,我最初为每个目标城市创建了一个列,包括“全部”选项。 我只是把选择放在一个单独的专栏中,但是我今天一直在阅读有关数据库规范化的一些信息,前者的选项似乎比后者更好。 对于这种情况,这是正确的做法,特别是如果我需要考虑报告吗? 我是否将CheckBoxList数据放在特定列的一个单元格中? 我是否为每个配送中心创建单独的列? 我甚至在这里正确的轨道?

从textbox将数据存储到appconfig中

我有textbox ,我在其中select .txt path ,其中保存了SqlConnection编码数据: Stream myStream = null; OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = “c:\\”; openFileDialog1.Filter = “txt files (*.txt)|*.txt|All files (*.*)|*.*”; openFileDialog1.FilterIndex = 2; openFileDialog1.RestoreDirectory = true; if (openFileDialog1.ShowDialog() == DialogResult.OK) { try { if ((myStream = openFileDialog1.OpenFile()) != null) { using (myStream) { // Insert code to read the stream here. […]

Where子句有多个未知条件

我目前正在为我的公司开发员工管理系统。 字段可能会有所不同,并且会不时更改,因此我为每个字段设置了一个界面,如下所示: public interface IStaffInfoField { // … IQueryable Filter(IQueryable pList, string pAdditionalData); // … } 对于每个字段,我实现Filter方法,例如使用Name : class NameStaffInfoField : BaseStaffInfoField { // … public override IQueryable Filter(IQueryable pList, string pAdditionalData) { return pList.Where(q => q.Name.Contains(pAdditionalData)); } // … } 现在用户想要使用多个条件进行搜索,这很简单,我只需遍历列表并调用Filter 。 但是,他们还需要OR条件(例如,名称为A ,OR名称为B ,AND部门名称为C ,或年龄为30员工)。 注意:用户是最终用户,他们通过combobox和文本框输入搜索查询。 我能以某种方式修改我的模式或lambda表达式吗? 因为在整个过程中,我没有将原始列表保存为Union它的OR条件。 我认为如果我保存表达式并将其联合为OR条件将会很慢。 我现在能想到的唯一解决方案是为需要原始SQL WHERE语句的接口添加一个方法。 但是我的整个程序还没有使用纯SQL查询,现在使用它是不是很糟糕?

从SQL导出数据并写入etxt文件(可以使用无BCP或SP)

所以我正在寻找一种从SQL Server 2000数据库导出数据并将其写入逗号分隔文本文件的简单方法。 它的一个表只有大约1,000行。 我是C#的新手所以请原谅我这是一个愚蠢的问题。

使用Smo.Backup将SQL Server数据库备份到字符串

我正在尝试制作一个可以帮助我进行服务器备份的小应用程序。 该应用程序将在我的家用PC上运行,因此主要目标是能够连接到外部服务器,备份所选数据库,将备份内容转储到字符串或其他东西,以便我可以将其写在我的PC磁盘而不是服务器上磁盘。 我做了那个可以写在服务器磁盘上的东西,但是我希望能够在我的PC磁盘上写下备份的结果。 private bool BackupDatabase() { try { // Filename string sFileName = string.Format(“{0}\\{1}.bak”, _sWhereToBackup, DatabaseName); // Connection string sConnectionString = String.Format( “Data Source=tcp:{0};Initial Catalog={1};User ID={2};Pwd={3};”, DatabaseHost, DatabaseName, DatabaseUsername, DatabasePassword); SqlConnection oSqlConnection = new SqlConnection(sConnectionString); Server oServer = new Server(new ServerConnection(oSqlConnection)); // Backup Backup backup = new Backup(); backup.Action = BackupActionType.Database; backup.Database = DatabaseName; […]

使用聚合的分页投影nhibernate查询的总结果

我正在动态构建一个需要实现分页的nhibernate预测查询。 就像是… var projections = Projections.ProjectionList(); foreach (var p in projection.Projections) { IProjection newProjection = null; switch (p.AggregateFunc) { case AggregateFuncTypeEnum.GroupProperty: newProjection = Projections.GroupProperty(p.Path); break; case AggregateFuncTypeEnum.Sum: newProjection = Projections.Sum(p.Path); break; default: newProjection = Projections.Property(p.Path); break; } projections.Add(newProjection, p.Name); } criteria.SetProjection(projections).SetResultTransformer(new AliasToBeanResultTransformer(projectionType)); 我可以得到前15个结果 criteria.SetFirstResult(0); criteria.SetMaxResults(15); var results = criteria.List(); 但是我还需要发送另一个查询来获取记录总数,但到目前为止我还没有想到这一点。 仍然需要应用投影,即如果结果按“代码”分组,总和为“成本”,那么100条记录可能会返回20行,而这是我感兴趣的20条。 如何获取将返回的记录总数? 谢谢

使用C#确定LocalSystem帐户名称

我们有一个应用程序从命令行安装SQL Server Express,并通过参数SQLACCOUNT =“NT AUTHORITY \ SYSTEM”将服务帐户指定为LocalSystem帐户。 这不适用于不同的语言,因为LocalSystem的帐户名称不同。 这里有一个列出差异的表格: http://forums.microsoft.com/MSR/ShowPost.aspx?PostID=685354&SiteID=37 这似乎并不完整(未列出瑞典语版本)。 所以我希望能够以编程方式确定名称,也许使用SID? 我找到了一些VB脚本来做到这一点: Set objWMI = GetObject(“winmgmts:root\cimv2”) Set objSid = objWMI.Get(“Win32_SID.SID=’S-1-5-18′”) MsgBox objSid.ReferencedDomainName & “\” & objSid.AccountName 有谁知道可以在C#中使用的等效代码?

单击按钮调用SSRS报告,需要将输出作为PDF文件

我有一个网格视图,我在其中放置了一个链接按钮来打印报告。 在此按钮单击事件中,我需要调用SSRS报告,并需要将输出作为PDF文件。 我使用了下面的代码,代码运行正常,但我无法看到打开/保存pdf文件的提示。 protected void btnAuthenticateAndPrint_Click(object sender, EventArgs args) { try { //Getting Values from grid LinkButton lb = (LinkButton)sender; GridViewRow row = (GridViewRow)lb.NamingContainer; Label lbOrderID = row.FindControl(“lbOrderID”) as Label; int OrderId = Convert.ToInt32(lbOrderID.Text); da = new SqlDataAdapter(“Get_PODetails”, con); da.SelectCommand.CommandType = CommandType.StoredProcedure; da.SelectCommand.Parameters.AddWithValue(“@MPDI_ID”, OrderId); ds = new DataSet(); da.Fill(ds, “PO”); if (ds.Tables[“PO”].Rows.Count > 0) { […]

使用Replace和Length检查避免SQL Not IN

我有一种情况,我必须动态创建我的SQL字符串,我试图尽可能使用参数和sp_executesql,所以我可以重用查询计划。 在进行大量的在线阅读和个人体验时,我发现“NOT IN”和“INNER / LEFT JOIN”是表现缓慢且基本(最左侧)表很大(1.5M行,50列) )。 我也读过,应该避免使用任何类型的函数,因为它会减慢查询速度,所以我想知道哪个更糟糕? 我过去曾经使用过这种解决方法,虽然我不确定这是最好的办法,但是避免在项目列表中使用“NOT IN”时,例如我传入3个字符串的列表例如,使用管道分隔符(仅在元素之间): LEN(@param1) = LEN(REPLACE(@param1, [col], ”)) 代替: [col] NOT IN(‘ABD’, ‘RDF’, ‘TRM’, ‘HYP’, ‘UOE’) …想象一下字符串列表的长度是1到大约80个可能的值,并且这种方法也不能将它自己用于paraterization。 在这个例子中,我可以使用“=”表示NOT IN,我会使用传统的列表技术作为我的IN,或者!=如果这是一个更快,虽然我怀疑它。 这比使用NOT IN快吗? 作为一种可能的第三种选择,如果我知道所有其他可能性(IN可能性,可能是80-95倍更长的列表)并且通过那些可能性,那该怎么办呢? 这将在应用程序的业务层中完成,以便将工作负载从SQL Server中删除。 查询计划重用不是很好的可能性,但如果它在一个大讨厌的查询中刮了一两秒,为什么不是。 我也擅长SQL CLR函数创建。 由于以上是字符串操作,CLRfunction最好吗? 思考? 在此先感谢任何和所有的帮助/建议/等。