下面是我尝试使用内存数据库进行单元测试时得到的错误消息.
SetUp:FluentNHibernate.Cfg.FluentConfigurationException:创建SessionFactory时使用了无效或不完整的配置.检查PotentialReasons集合,以及InnerException以获取更多详细信息.
----> NHibernate.HibernateException:无法从NHibernate.Driver.SQLite20Driver,NHibernate,Version = 3.3.1.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4创建驱动程序.----> System.Reflection.TargetInvocationException:调用目标抛出了异常.----> System.ArgumentException:无法找到请求的.Net Framework数据提供程序.它可能没有安装.
错误发生在下面的代码行:
private ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(SQLiteConfiguration.Standard.InMemory().ShowSql())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Entity>())
.ExposeConfiguration(cfg => configuration = cfg)
.BuildSessionFactory();
}
Run Code Online (Sandbox Code Playgroud)
我到处寻找,似乎无法找到解决这个问题的方法.我正在使用Fluent NHibernate,NUnit和VS 2012.
任何人都可以给我一些快速简单的建议,为什么我的单元测试在上面的代码返回行上失败了?
我知道使用Coredata和Direct Sql命令在制作本地存储时用于iOS的区别.但仍然可以任何人建议哪一个更好,更有效和优化,并可以使用大数据?呼叫如何与它们一起工作?Coredata也有与之交互的背景,所以有没有增加打电话的速度?非常感谢你的帮助.
我有以下表架构

我想要做的是返回所有发票以及以下汇总总数
SUM(UnitPrice * Qty))SUM(Amount))鉴于发票可以在没有任何行项目或额外成本的情况下存在,我认为我在这里需要做的就是使用LEFT OUTER JOINie
SELECT i.*, SUM(li.UnitPrice * li.Qty) As [Sub Total], SUM(ac.Amount) As [AdditionalCosts]
FROM Invoice i
LEFT OUTER JOIN LineItem li ON li.InvoiceId = i.Id
LEFT OUTER JOIN AdditionalCost ac ON ac.InvoiceId = i.Id
GROUP BY i.Id
Run Code Online (Sandbox Code Playgroud)
但问题是,如果两个子表的长度不同(例如,我有4个行项目,但只有1个额外成本),额外成本的数据会在额外的行项目行中重复(反之亦然),您可以通过删除来验证这一点GROUP BY.
所以会有效地发生以下记录
Invoice
-------
400001
LineItem
---------
400001 | 2000 | 100 | 1
400001 | 2001 | 50 | 2
400001 | 2002 | 10 | …Run Code Online (Sandbox Code Playgroud) 嗨我在登录时遇到了一些问题,实际上我试图通过检查数据库中的用户名来编辑登录并编辑文本值,但它无法正常工作.以下是我的代码.我有点迷惑得到EditTextvalue
package com.example.employeemanager;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Login extends Activity {
SQLiteDatabase db;
EditText unameedt;
String unam;
String pass;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
Button logbtn = (Button) findViewById(R.id.loginbtn);
Button signup = (Button) findViewById(R.id.signup);
EditText unameedt = (EditText) findViewById(R.id.editText1);
EditText passedt = (EditText) findViewById(R.id.editText2);
db = openOrCreateDatabase("Employeemanager", MODE_PRIVATE, null);
unam = unameedt.getText().toString();
pass = …Run Code Online (Sandbox Code Playgroud) 我的应用程序将模型名称保存在字符串中.比它在数据库中读取以找到模型.当列不存在时,程序应采用"NotListed"列.我该怎么做?
我的代码:我认为当列不存在但是它不起作用时光标为空.
String s = android.os.Build.MODEL;
Cursor dataCursor = mDb.rawQuery
("SELECT * FROM Smartphone WHERE Model = '"+s+"'",null);
if (dataCursor!=null)
{
dataCursor.moveToNext();
}else {
dataCursor = mDb.rawQuery
("SELECT * FROM Smartphone WHERE Model = 'NotListed'",null);
dataCursor.moveToNext();
}
Run Code Online (Sandbox Code Playgroud) 如果字符串company包含撇号,则会导致错误.
示例:公司名称,如"William's store".
如何构建一个SQLite查询,使用SQLite-Net api处理这类问题.
I am using SQLite-Net api and I tried both and they did not work.
In SQLite-Net api, I think there is no Parameters. What other alternative that I can use?
private async void GetCustomerVATGroup(string Company)
{
1)
string strChkName = Company.Replace("'", "''"); // or Company.Replace("'","\'");
var allUsers = await db.QueryAsync<Customer>(
"Select * From Customer Where CompanyName ='" + strChkName + "'");
2)
var allUsers = await db.QueryAsync<Customer>(
"Select * From Customer … 我正在使用CodeIgniter开发一个php应用程序.我打算将单个MySQL数据库拆分为多个sqlite数据库.也就是说,一个数据库(MySQL/PostgreSQL/SQLite)处理身份验证,每个用户拥有一个sqlite数据库,用于保存与用户相关的信息.我不使用任何连接,它将具有比写入更多的读取.
为了速度将数据库拆分成多个sqlite数据库是一个好主意吗?此外,在扩展到多个服务器时会有问题吗?我可以根据用户使用重定向指向正确的服务器.
编辑: 决定将MariaDB用作所有用户的服务器.
我在sqlite查询中使用like关键字时面临一些奇怪的问题inner join.
我想获取category_code上的记录,因为category_code在两个表中以不同的字符串格式保存.所以我写下面的查询,但没有输出.
select categories.category_code, services.* from categories join services on services.category_code like '%' + categories.category_code + '%' where services.country_code like '%IN%'
Run Code Online (Sandbox Code Playgroud)


有什么建议吗?
我是数据库(SQLite)的新手,我正在尝试在android中创建一个多表数据库.每个表都有相同的行(id,name,ph_number).每个表都存储一个"联系"对象.
当我想使用方法addContactDatos(Contact contact,int partido)将联系人存储在一个表中时,它存储在每个表中,而不仅仅存储在我想要的表中.我该如何解决?
这是处理程序:
public class DatabaseHandler extends SQLiteOpenHelper {
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "contactsManager";
// Contacts Tables names
private static final String TABLE_PRIMERO = "contacts";
private static final String TABLE_SEGUNDO = "contacts";
private static final String TABLE_TERCERO = "contacts";
private static final String TABLE_CUARTO = "contacts";
// Contacts Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_NAME …Run Code Online (Sandbox Code Playgroud) 我在C#Winforms应用程序中有以下代码.我正在使用SQL Lite,但如何将文本框中的值传递给insert语句:
void InsertConnectionDetails()
{
m_dbConnection.Open();
string sql = "insert into rdpdirectory (company, server, username, password) values (txtCompany, txtServer, txtUsername,txtPassword)";
SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
m_dbConnection.Close();
MessageBox.Show("Done");
}
Run Code Online (Sandbox Code Playgroud) sqlite ×10
android ×4
database ×3
c# ×2
codeigniter ×1
core-data ×1
ios ×1
ipad ×1
iphone ×1
java ×1
join ×1
multi-table ×1
mysql ×1
nhibernate ×1
php ×1
sql ×1
unit-testing ×1
winforms ×1
winrt-xaml ×1