Tag: sql

c#变量进入sql命令

string alpha=”this is text”; string sql = “INSERT INTO dokimastikospinakas (pliroforia) VALUES (‘alpha’)”; 哪个是将ac#变量传递给sql命令的正确语法?

在LINQ中选择案例

如何将其转换为LINQ? select t.age as AgeRange, count(*) as Users from ( select case when age between 0 and 9 then ‘ 0-25′ when age between 10 and 14 then ’26-40′ when age between 20 and 49 then ’60-100′ else ’50+’ end as age from user) t group by t.age 谢谢!

解析查询时出错。

我正在使用sql做Csharp。 但我得到的错误是 解析查询时出错。 [令牌行号= 1,令牌行偏移= 40,令牌错误=第一] private void CustomerAdded(Customer c) { string query = string.Empty; int rowsAffected = 0; try { if (connection.State != ConnectionState.Open) { connection.Open(); } query = string.Format(“INSERT INTO CustomerRecord(CustomerId, First Name, Surname, PhoneNumber, City,Country, Account Manager) VALUES ({0},'{1}’,'{2}’,'{3}’,'{4}’,'{5}’,'{6}’)”,c.CustomerId,c.FirstName,c.Surname,c.PhoneNumber,c.City,c.Country,c.AccountManager); SqlCeCommand command = new SqlCeCommand(query, connection); rowsAffected = command.ExecuteNonQuery();(this is were the error […]

无法打开exceptionDATABASE1.MDF’,因为它是版本655.此服务器支持版本612及更早版本。 不支持降级路径

嗨,当我尝试打开我的数据库时,我收到此exception。 我知道我需要将我的数据库升级到655但是有人可以告诉我如何做到这一点吗? 另外我想让你知道我的笔记本电脑上安装了VS2012但是即使我运行这个项目我也得到了同样的例外,所以请帮我详细解答。 提前致谢

子查询未连接到主查询

下面的查询用于从数据库中检索报告中显示的记录。 但是SENOKO和EUNOS列在每一行中显示重复的总数。 这似乎子查询没有连接到主查询导致不采取过滤。 SELECT whbal.customer, customer.imp_license_no, customer.psq_level, (SELECT SUM(CONVERT(DECIMAL(8,3),(CONVERT(DECIMAL(8, 3), whbal.qty_good) + CONVERT(DECIMAL(8, 3), whbal.qty_slack)) * CONVERT(DECIMAL(8, 3), whbal.std_weight) / 1000)) FROM whbal WHERE warehouse=’SKW’) AS SENOKO (SELECT SUM(CONVERT(DECIMAL(8,3),(CONVERT(DECIMAL(8, 3), whbal.qty_good) + CONVERT(DECIMAL(8, 3), whbal.qty_slack)) * CONVERT(DECIMAL(8, 3), whbal.std_weight) / 1000)) FROM whbal WHERE warehouse=’EKW’) AS EUNOS FROM customer INNER JOIN whbal ON whbal.customer=customer.customer AND […]

Linq to SQL / filter duplicates

我在我的sql server 2012中有一些重复的视图,我想用最新的方式对它们进行排序并过滤所有其他的 – 任何人都可以帮助我吗? 我在SQL Server 2012中的观点: GUID(作为主键),数字,日期时间和名称 +—–+———-+——————————–+—– | guid | number| datetime | name +—–+———-+——————————–+—— | b105..| 1234567|2014-07-07T16:32:20.854+02:00:00|Name1 | s1b5..| 1111222|2014-07-06T16:30:21.854+02:00:00|Name2 | b17a..| 1234567|2014-07-06T15:22:17.854+02:00:00|Name1 | f205..| 1233333|2014-07-07T17:40:20.854+02:00:00|Name3 | b11t..| 1233333|2014-07-04T11:12:15.854+02:00:00|Name3 | rt85..| 1111222|2014-07-07T21:55:52.854+02:00:00|Name2 +——-+——–+——————————–+—– 如果数字相同,则每次都是相同的名称。 例如,编号1234567始终是名称1。 我想过滤我的表,我只有最新的数字,没有重复 所以结果应该是: +—–+———-+——————————–+—– | guid | number| datetime | name +—–+———-+——————————–+—— | b105..| 1234567|2014-07-07T16:32:20.854+02:00:00|Name1 | f205..| […]

C# – “已添加具有相同键的元素”

我在ASP.NET MVC中工作,我在我的模型中被阻止(包围)这个该死的错误“已经添加了一个具有相同键的元素”,我完全理解为什么虽然我有几乎相同的代码和不同的请求我的模型的其他方法。 我不认为问题可能来自请求,因为我已经像以前一样在另一个项目中使用了她(它)。 public Dictionary getDonnee() { Dictionary list = new Dictionary(); SqlConnection cn; SqlDataAdapter da; DataSet ds; cn = new SqlConnection(CS_DW); cn.Open(); da = new SqlDataAdapter(“select distinct(ltrim(rtrim(cpic))) as code, cpic as lib from [DW].[dbo].[PIC_PROD_S001] “, cn); ds = new DataSet(); da.Fill(ds, “code”); list.Add(“REEL”, “REEL”); foreach (DataRow row in ds.Tables[“code”].Rows) { list.Add(row[“code”].ToString(), row[“lib”].ToString()); } cn.Close(); […]

哪个是C#和.NET的“最佳”数据访问框架/方法?

(编辑:我把它变成了社区维基,因为它更适合协作格式。) 从.NET访问SQL Server和其他数据库有很多种方法。 所有这些都有其优点和缺点,它永远不会是一个简单的问题,哪个是“最好的” – 答案永远是“它取决于”。 但是,我正在寻找在不同级别的系统环境中的不同方法和框架的高级别比较 。 例如,我认为对于快速而肮脏的Web 2.0应用程序,答案与内部企业级CRUD应用程序有很大不同。 我知道Stack Overflow上有很多问题涉及这个问题的子集,但我认为尝试构建一个汇总比较会很有用。 我将尽力更新问题并加以纠正和澄清。 到目前为止,这是我在高层次上的理解 – 但我确信这是错误的…我主要关注微软的方法来保持这一点。 ADO.NETentity framework 数据库不可知 好,因为它允许交换后端进出 糟糕,因为它可以达到性能,数据库供应商对它不太满意 似乎是MS未来的首选路线 复杂学习(但见267357 ) 它通过LINQ to Entities访问,因此提供ORM,从而允许在代码中进行抽象 LINQ to SQL 不确定的未来(参见LINQ to SQL真的死了吗? ) 简单易学 (?) 仅适用于MS SQL Server 另请参见LINQ的优缺点 “标准”ADO.NET 没有ORM 没有抽象,所以你回到“自己动手”并使用动态生成的SQL 直接访问,可以提供更好的性能 这与关于是否专注于对象或关系数据的古老争论有关,当然答案是“它取决于大部分工作的位置”,因为这是一个无法回答的问题,希望我们不会不得不进入太多。 恕我直言,如果你的应用程序主要是操作大量数据,将它过多地抽象到前端代码中的对象是没有意义的,你最好使用存储过程和动态SQL来完成尽可能多的工作。可能在后端。 然而,如果您主要进行用户交互,导致数十或数百行的数据库交互,则ORM完全有意义。 所以,我想我对旧式ADO.NET的论证是在你操纵和修改大型数据集的情况下,在这种情况下,你将受益于对后端的直接访问。 当然,另一种情况是您必须访问已由存储过程保护的旧数据库。 ASP.NET数据源控件 这些东西是完全不同的还是仅仅是标准ADO.NET的一层? – 如果您有DAL或者实施了LINQ或实体,您真的会使用这些吗? NHibernate的 似乎是一个非常强大和强大的ORM? […]

从sql reader获取值c#

我有以下代码: SqlConnection c = new SqlConnection(“Data Source=localhost\\sqlexpress;Initial Catalog=BookStoreDataBase1;Integrated Security=True;Pooling=False;”); c.Open(); string raf = string.Format(“Select Id from Customer WHERE email='{0}'”, DropDownList1.SelectedItem.Text); SqlCommand comm2 = new SqlCommand(raf, c); SqlDataReader r = comm2.ExecuteReader(); 对象r现在具有查询的值,该行包含从电子邮件等于下拉列表中的随机值的Id。 我想要的是得到“Id”的确切值并将其分配给标签。 请帮我。

防止插入时的SQL注入

我正在寻找一些防止SQL注入的技巧。 我在一个论坛上被告知我的代码不安全,我正在找一个足够好的人来帮助我解决这个问题。 我有一个webform并在提交时转到aspx.cs页面并将数据插入到ms sql数据库中。 protected void Submit_Click(object sender, EventArgs e) { string FullStartTime = StartTimeHourList.SelectedValue + “:” + StartTimeMinuteList.SelectedValue + ” ” + StartTimeAMList.SelectedValue; string FullEndTime = EndTimeHourList.SelectedValue + “:” + EndTimeMinuteList.SelectedValue + ” ” + EndTimeAMList.SelectedValue; OleDbConnection conn; OleDbCommand cmd; conn = new System.Data.OleDb.OleDbConnection(“”); cmd = new System.Data.OleDb.OleDbCommand(); conn.Open(); cmd.Connection = conn; var sql […]