Tag: sql

将日期与字符串entity framework进行比较

让我们假设我有一个SQL Server数据库和一个看起来像这样的表: Id int NOT NULL, Date date NOT NULL 我有相应的entity framework模型: public class Bundle { public int Id {get; set;} public DateTime Date {get; set;} } 用户可以键入可以是任何内容的字符串。 我需要找到Date或日期的任何部分包含用户输入的字符串的所有项目。 所以,基本上,我需要执行查询: SELECT Id, Date FROM Bundles WHERE Date LIKE ‘%user_query_here%’ 我的第一次尝试是 query.Where(b => b.Date.ToShortDateString().Contains(filter.Date)) 这会引发NotSupportedException,所以我尝试了这个: query.Where(b => Convert.ToString(b.Date).Contains(filter.Date)); 请注意, filter.Date是字符串。 它不是DateTime结构。 这也引发了一个例外。 所以我的问题是如何执行上面执行的查询? PS:我无法在内存中执行过滤,这个表有几千行。

获取查询以使用参数和“喜欢”

我已经看到很多关于在Sql查询和“喜欢”中使用参数的问题,但是我已经尝试过各种方式来编写代码并且仍然无法获得我的查询来给出结果。 如果我在查询本身中放置一个值,它运行正常。 当我运行列出的第一个查询时,我得到错误“必须声明标量变量”@Search“但我认为我用cmd.Parameters.AddWithValue语句做了。有人能看到我可能做错了吗?任何帮助表示赞赏。 //Declare the connection object SqlConnection Conn = new SqlConnection(); Conn.ConnectionString = ConfigurationManager.ConnectionStrings[“MyDatabase”].ConnectionString; //Connect to the db Conn.Open(); //Define query //This query doesn’t work string sql = “SELECT CustomerID, LastName, FirstName, Email, Password, Address1, Address2, City, State, Zip, Phone, Fax FROM Customer WHERE (State LIKE ‘%’ + @Search + ‘%’)”; //This query doesn’t […]

SqlDataAdapter不会填充DataSet

我正在使用VS2012和SQL Server Express 2008.我已经简化了我的连接/查询,试图找出为什么我的DataSet没有被填充。 连接成功完成,并且不会抛出任何exception,但适配器不会填充DataSet 。 从中提取的数据库位于同一台PC上,使用localhost\SQLEXPRESS不会更改结果。 谢谢你的任何输入! SqlConnection questionConnection = new SqlConnection(ConfigurationManager.ConnectionStrings[“DefaultConnection”].ConnectionString); questionConnection.Open(); String sql = “SELECT * FROM HRA.dbo.Questions”; SqlDataAdapter adapter = new SqlDataAdapter(); DataSet ds = new DataSet(); SqlCommand command = new SqlCommand(sql, questionConnection); adapter.SelectCommand = command; adapter.Fill(ds); adapter.Dispose(); command.Dispose(); questionConnection.Close(); 连接字符串:

如何在EF上运行SQL查询?

我正在使用C#和WPF作为前端的EF。 我需要提供一个UI,以便用户可以创建自己的查询并获得结果。 用户界面将是表格列表和要从中选择的列表(对UI不满意。需要改进但在我脑海中有新的标记)。 所以我的问题是如何创建,合并(现有查询)和执行查询。 有sql类Entity Client提供程序,objectquery类。 我使用了ObjectQuery string querystring = @”SELECT PrjDev FROM prjscenario”; ObjectQuery prjdevquery = new ObjectQuery(querystring, ptxobjcontext); string cpmmandtext = prjdevquery.CommandText; int prjdevnum = prjdevquery.Count(); 这是工作。 但是当我运行一些复杂的查询时。 它不起作用。 示例代码: string querystring = @”SELECT PrjDev FROM prjscenario WHERE PrjDev.PrjDevType = 10″; 错误: ‘PrjDevType’不是’Transient.collection [Skm.Ptx.Data.Emf.PrjDev(Nullable = True,DefaultValue =)]’的成员。 要提取集合元素的属性,请使用子查询迭代集合。 近简单标识符,第1行,第45列。 任何想法,为什么它对一个简单的查询有好处,但它不适用于复杂的查询? 先谢谢你,N

C#Linq到SQL连接字符串(新手)

我是sql学习者的新linq,这是我第一次尝试创建数据查看器程序。 这个想法很简单,我想创建一个能够查看数据库中表格内容的软件。 而已。 我已经在这里得到了一个早期的问题,我在网上看到了许多tutes和文章,但我仍然无法解决这个问题。 这是我的代码: static void Main(string[] args) { string cs = “Data Source=localhost;Initial Catalog=somedb;Integrated Security=SSPI;”; var db = new DataClasses1DataContext(cs); db.Connection.Open(); foreach (var b in db.Mapping.GetTables()) Console.WriteLine(b.TableName); Console.ReadKey(true); } 当我试图检查db.connection.equals(null); 它返回false ,所以我认为我已成功连接到数据库,因为根本没有错误。 但上面的代码不会在屏幕上打印任何内容。 我有点失落,不知道这里发生了什么。 有谁知道这里出了什么问题?

将多行更新到SQL表中

假设有一个完全填充的数据数组String [n] [3] myData。 我想做这个: for (String[] row : myData) { SQL = “update mytable set col3 = row[2] where col1 = row[0] and col2=row[1];” } 显然我已经离开了很多,但我想尽可能简洁地表达这个想法。 有一种简单的方法可以在单个DB命令中执行此操作吗? 一个不那么简单的方法怎么样? 编辑:数据不是来自另一个表(这是一个网络表单提交 – 多选择考试) 看到应用程序是面向Web的,它必须是注塑certificate。 参数化查询是我的首选方式。 我正在使用MS-SQL Server 2005 编辑:关闭并重新询问多个数据库更新: 编辑:重新打开,因为这似乎是一个受欢迎的问题

从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. […]

如何在后台调用存储过程?

我有一个存储过程,大约需要2-3分钟才能完成执行。 从ado.net我想让存储过程执行在后台发生。我必须在向存储过程发出请求后立即返回我的代码。 谁可以帮我这个事 ?

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

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

我如何使用System.Data.Sql.SqlDataSourceEnumerator类来了解可用的sql数据源……?

我如何使用System.Data.Sql.SqlDataSourceEnumerator类来了解可用的sql数据源……? 因为虽然我正在创建与sql server的连接,如果sql server还没有准备好,我们将得到exception…所以首先我想知道sql server是否已准备好接受请求…如何知道…