一个绝对的初学者的问题:我如何从WPF中的数据集读取数据? 我有一个只有2列的列车时刻表,我希望能够读取出发时间,并计算下一class列车何时离开。 例如,现在的时间是12:29,我的申请应该告诉我下一class列车将在12:33出发。 我已经search了左右。 我在.NET 3.5上。 谢谢
使用ADO.NET的SQL Server的默认事务隔离级别是什么? 我正在使用SQL Server的默认安装,只是正常的System.Data.SqlClient类。
我想将一个对象(任何types)保存到SQL Server 2005数据库中的一个字段中。是否有可能? 我是否必须将该对象转换为某个东西,比如说像一个字节数组,然后在取回时将其转换回来?
我最近升级/更新了旧的项目中的entity framework从版本4或5到版本6.现在我得到这个exception: 在EntityFramework.dll中发生types“System.InvalidOperationException”的exception,但未在用户代码中处理 附加信息:找不到具有不变名称“System.Data.SqlClient”的ADO.NET提供程序的entity framework提供程序。 确保提供程序在应用程序configuration文件的“entityFramework”部分中注册。 有关更多信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260882 。 我GOOGLE了错误,并遇到了几个SO线程,但没有包含一个解决scheme,为我工作。 这就是我的App.config的样子: <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <!– For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 –> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> </providers> </entityFramework> </configuration> 我已经从我的项目中卸载了entity framework,并重新安装它,删除所有对旧EF文件的引用,并重新安装,但没有为我工作。 我不断收到这个错误。
我有一个从SQL查询填充到本地数据库的DataTable ,但我不知道如何从中提取数据。 主要方法(在testing程序中): static void Main(string[] args) { const string connectionString = "server=localhost\\SQLExpress;database=master;integrated Security=SSPI;"; DataTable table = new DataTable("allPrograms"); using (var conn = new SqlConnection(connectionString)) { Console.WriteLine("connection created successfuly"); string command = "SELECT * FROM Programs"; using (var cmd = new SqlCommand(command, conn)) { Console.WriteLine("command created successfuly"); SqlDataAdapter adapt = new SqlDataAdapter(cmd); conn.Open(); Console.WriteLine("connection opened […]
我刚刚看到这个话题: Datatable与数据集,但它并没有解决我的疑问。让我更好地解释,我正在做数据库连接,需要显示在GridView的结果。 (我之前和VB6一起使用过RecordSet,DataSet和DataSet非常相似,所以使用DataSet要容易得多)。然后一个人告诉我DataSet并不是最好的方法。 那么,我应该“学习”DataReader还是继续使用DataSet? 数据表? 有什么优点/缺点?
我有一个DateTime? 我试图插入到使用DbParameter字段。 我正在创build这样的参数: DbParameter datePrm = updateStmt.CreateParameter(); datePrm.ParameterName = "@change_date"; 然后我想把DateTime?的值DateTime? 进入dataPrm.Value同时占null 。 我以为我会很聪明: datePrm.Value = nullableDate ?? DBNull.Value; 但失败的错误 运营商“??” 不能应用于“System.DateTime?”types的操作数 和“System.DBNull” 所以我猜想,只有第二个参数是第一个参数的非空值版本才有效。 那么我去了: datePrm.Value = nullableDate.HasValue ? nullableDate.Value : DBNull.Value; 但是这也不起作用: 条件expression式的types不能确定,因为没有“System.DateTime”和“System.DBNull”之间的隐式转换 但我不想在这些types之间转换! 到目前为止,我唯一可以工作的是: if (nullableDate.HasValue) datePrm.Value = nullableDate.Value; else datePrm.Value = DBNull.Value; 那真的是我写这个的唯一方法吗? 有没有办法使用三元运算符来实现单线程工作? 更新:我真的不明白为什么? 版本不起作用。 MSDN说: ?? 如果操作数不为null,则返回左操作数,否则返回右操作数。 这正是我想要的! Update2:最后这是很明显的: datePrm.Value […]
我想检索给定的Sql Server数据库中的所有模式的列表。 使用ADO.NET模式检索API,我得到了所有集合的列表,但没有“模式”的集合。 我可以遍历'Tables' , 'Procedures'集合(如果需要的话),并获得唯一的模式名称列表,但没有一个更简单/更短的方式来实现相同的结果? 例如:对于标准的'AdventureWorks'数据库,我也想获得以下列表 – dbo,HumanResources,Person,Production,Purchasing,Sales (我省略了其他标准schem名称,如db_accessadmin , db_datareader等) 编辑:我可以通过查询系统视图 – INFORMATION_SCHEMA.SCHEMATA获取模式列表,但宁愿使用模式API作为第一select。
我试图通过ADO.net从数据库获得输出值。 有一个客户端代码: using (var connection = new SqlConnection(ConnectionString)) { connection.Open(); SqlCommand command = new SqlCommand("pDoSomethingParamsRes", connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@i", 1); var outParam = new SqlParameter("@out", SqlDbType.VarChar); outParam.Direction = ParameterDirection.Output; command.Parameters.Add(outParam); command.ExecuteNonQuery(); Console.WriteLine(command.Parameters["@out"].Value.ToString()); } 当我运行这个我得到以下exception: the Size property has an invalid size of 0 根据手动SqlParameter.Size属性我可能会忽略大小。 为什么我得到这个exception? 如何使它的工作不通过大小? 感谢您的帮助!
如下所示,使用using(){} (sic)块,并假定cmd1没有超出第一个using(){}块的范围,为什么第二个块会抛出一个exception,消息SqlParameter是已经包含另一个SqlParameterCollection ? 这是否意味着资源和/或句柄(包括连接到cmd1的参数(SqlParameterCollection))在其末尾被销毁时不会被释放? using (var conn = new SqlConnection("Data Source=.;Initial Catalog=Test;Integrated Security=True")) { var parameters = new SqlParameter[] { new SqlParameter("@ProductId", SqlDbType.Int ) }; using(var cmd1 = new SqlCommand("SELECT ProductName FROM Products WHERE ProductId = @ProductId")) { foreach (var parameter in parameters) { cmd1.Parameters.Add(parameter); } // cmd1.Parameters.Clear(); // uncomment to save your skin! } […]