以下是我正在查询的数据库表的简化版本(我们称之为付款):
date | userid | payment
20/1/10 | 1 | 10
21/1/10 | 1 | 15
17/1/10 | 2 | 7
18/1/10 | 2 | 9
Run Code Online (Sandbox Code Playgroud)
它记录用户在特定日期支付的款项.我需要找出每个用户首次付款的详细信息,如下所示:
20/1/10 | 1 | 10
17/1/10 | 2 | 7
Run Code Online (Sandbox Code Playgroud)
存储过程是不可能的.有没有办法单独使用SQL或者我只是在表中添加第一个付款标志?
我的MS SQL数据库(或Microsoft Access)中只有一个简单的表.如何读入此表并将其写为SQL CE数据库?我安装了Visual Studio和WebMatrix,因此如果需要,我可以使用这些工具中的任何一个.谢谢.
是否可以将一个表复制并粘贴到另一个表中?如果它有效,这将是最简单的.
如何在Visual Basic中将日期格式设置为sql 121样式(即yyyy-mm-dd hh:mi:ss.mmm).
我意识到这种格式不在FormatDateTime对象列表中.
我想将此格式用于Reporting Services.
有一些文档可以为LINQ创建db和SQL.我已搜索但无法找到如何使用/查询本地.sdf文件.
请提供任何有助于查询和使用myDB.sdf的链接.
无法从 中创建驱动程序
NHibernate.Driver.SqlServerCeDriver, NHibernate, Version=3.3.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4。
内部例外:找不到程序集 System.Data.SqlServerCe 中的 IDbCommand 和 IDbConnection 实现。确保程序集 System.Data.SqlServerCe 位于应用程序目录或全局程序集缓存中。如果程序集在 GAC 中,请使用应用程序配置文件中的元素来指定程序集的全名。
这是我尝试使用 fluent nHibernate 时遇到的错误!
我尝试通过配置的简单示例不适用于使用此 dll 的本地数据库。
我的代码:
private static String ConnectionString = "Data Source = Database1.sdf";
public static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(MsSqlCeConfiguration.Standard
.ConnectionString(ConnectionString)
.Driver<NHibernate.Driver.SqlServerCeDriver>()
.Dialect<NHibernate.Dialect.MsSqlCeDialect>())
.Mappings(m => m.FluentMappings.AddFromAssembly(System.Reflection.Assembly.GetExecutingAssembly()))
.ExposeConfiguration(BuildSchema)
.ExposeConfiguration(x => x.SetProperty("connection.release_mode", "on_close"))
.BuildSessionFactory();
}
private static void BuildSchema(Configuration configuration)
{
SchemaExport schemaExport = new SchemaExport(configuration);
schemaExport.Execute(false, true, false);
}
Run Code Online (Sandbox Code Playgroud)
谢谢!这很重要!
我发现它在 buildsessionfactory 中崩溃了...helpppp!!!!
我试图以一种我认为可能不可能的方式设计一个链接构造函数的系统,但我想先检查一下.
我有5个重载的构造函数如下:
public SqlCeDB(string filename)
public SqlCeDb(string filename, Dictionary<string, string> options)
public SqlCeDB(string filename, string password)
public SqlCeDB(string filename, string password, Dictionary<string, string> options)
public SqlCeDB(Dictionary<string, string> options)
Run Code Online (Sandbox Code Playgroud)
我希望将所有逻辑内置到最后一个构造函数中,并让其他构建器将控制权传递给它.现在我有一个工作的第一个构造函数如下:
public SqlCeDB(string filename)
: this(new Dictionary<string, string> { { "DataSource", filename } })
{
}
Run Code Online (Sandbox Code Playgroud)
但有没有办法在第二次做到这一点?我想创建一个新的Dictionary,如上所述,但我还需要复制现有Dictionary中已经被称为"options"的选项.
如果insert语句中的列与表本身的顺序不同,这是否重要?
NameTable
firstName | lastName | age |
Run Code Online (Sandbox Code Playgroud)
INSERT语句:
INSERT INTO NameTable (age, firstName, lastName) VALUES (25, 'jane', 'doe');
Run Code Online (Sandbox Code Playgroud) 我有一个对象,其字段我想存储在数据库中.我将使用SQL Server Compact Edition(使用Visual C#Express 2010).为了记录,我对使用数据库(以及一般数据库)编程相当新.该程序将每天用于阅读电子邮件,处理其中的订单,存储它们,并在必要时访问它们以帮助完成订单.订单列表将变得很大,以便存储在列表中,写入文件,从文件创建列表等.问题是每个订单都包含所购买商品的列表.我知道我可以用二进制或XML序列化列表,并将该数据用作字段.但是,这使我无法根据该列表进行搜索/选择.例如,如果我想根据其中的项目查找订单,或者查看特定商品的购买次数.由于列表将是任意大小,我不能只创建一堆字段,只填充我需要的字段(在我看来,无论如何,这是一个坏主意).
写这篇文章时我意识到了一个错误.如果我再次序列化列表,我可以比较序列化数据再次找到相同的列表(但是,这假设每次都以相同的方式序列化相同的数据).但是,我仍然无法找到任何特定的项目.
那么,有没有办法在固定数量的字段(最好是1)中存储项目列表,并且仍然能够使用查询搜索其内容(我很可能会使用LINQ)?
编辑:为了解决我到目前为止所取得的成绩:首先,谢谢!我开始拼凑我必须做的事,但我不在那里.共识似乎是为每组项目提供一个表格.这是否意味着我每月会创建数千张表?
在重新阅读我的问题后,我意识到我必须更清楚.当订单进入时,我解析数据并将其存储在Order对象中,该对象由客户的信息和项目列表组成.这是我想要存储的简化版本:
class Order{
private DateTime date;
private String orderNumber;
private String buyerName;
private List<Item> items;
private String address;
}
class Item{
private String itemCode;
private String description;
private int quantity;
}
Run Code Online (Sandbox Code Playgroud)
那么我是否必须为我创建的每个List创建一个新表,或者我错过了什么?
所以我一直在制作一个简单的c#win表单应用程序,用于传说相关联的东西,我一直在使用.SDF数据库,我很新.
在尝试创建搜索选项时,我遇到了此错误:
缺少参数.[参数序数= 1]
这是我的代码:(我确实在命令中添加了参数.)
public DataTable GetDataTableSummoners(string Summoner, string Champion)
{
DataTable t = new DataTable();
try
{
var cmd = new SqlCeCommand();
cmd.CommandText = "SELECT * FROM Summoner";
if (!String.IsNullOrEmpty(Summoner))
{
SqlCeParameter param = new SqlCeParameter();
param.ParameterName = "@Summoner";
param.Value = Summoner;
cmd.Parameters.Add(param);
cmd.CommandText = "SELECT * FROM Summoner WHERE name = @Summoner";
}
var adapter = new SqlCeDataAdapter(cmd.CommandText, conn);
adapter.Fill(t);
}
catch (System.Data.SqlServerCe.SqlCeException ex)
{
System.Diagnostics.Debug.Print("Error: " + ex.Message);
}
return t;
}
Run Code Online (Sandbox Code Playgroud) SQLCe不支持TimeSpan,所以我需要以其他方式保存它.是否可以在某处定义默认转换,如DbContext,或者我是否需要在存储库中手动处理?我不喜欢因此而改变我的实体类.
顺便说一下,我只保存了24小时的TimeSpan.
如果有一些巧妙的技巧,例子会很棒.
sql-server-ce ×10
sql ×5
c# ×4
.net ×2
sql-server ×2
database ×1
fluent ×1
list ×1
ms-access ×1
nhibernate ×1
sql-insert ×1
timespan ×1
vb.net ×1