我遇到了一个问题,我只能在单个文本框中从数据库中检索数据.我想要的是,我想从数据库中检索每个文本框的数据,但是当我尝试时,得到错误:
这是代码:
string connectionString = (@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\Archives\Projects\Program\Sell System\Sell System\App_Data\db1.accdb;Persist Security Info=False;");
private List<List<TextBox>> textBoxCodeContainer = new List<List<TextBox>>();
private List<List<TextBox>> textBoxQuantityContainer = new List<List<TextBox>>();
private List<List<TextBox>> textBoxDescContainer = new List<List<TextBox>>();
private List<List<TextBox>> textBoxSubTotalContainer = new List<List<TextBox>>();
private List<List<TextBox>> textBoxTotalContainer = new List<List<TextBox>>();
private void Form1_Load(object sender, EventArgs e)
{
UpdateTextPosition();
OleDbDataReader dReader;
OleDbConnection conn = new OleDbConnection(connectionString);
conn.Open();
OleDbCommand cmd = new OleDbCommand("SELECT [Code] FROM [Data]", conn);
dReader = cmd.ExecuteReader();
AutoCompleteStringCollection codesCollection = new AutoCompleteStringCollection();
while (dReader.Read())
{
string numString = …Run Code Online (Sandbox Code Playgroud) 
考虑上面的问题,其中'CommonChild'实体可以是子类型A或B的子类,但不是C.如何在关系[SQL]数据库中设计物理模型?
理想情况下,解决方案将允许......
向超类型添加其他子类型,并在新子类型下移动子类型A和B. 然后,CommonChild可以对新创建的子类型具有FK约束.适用于上述情况,但如果添加的附加实体可能与子类型A和C有关,但不是B.
在CommonChild和SuperType之间添加FK约束.在允许新元组进入CommonChild之前,对超类型的鉴别器使用触发器或检查约束(w/UDF).看起来很直接,但现在CommonChild几乎看起来像新的子类型(它不是).
我的模型存在根本缺陷.重塑和问题应该消失.
我正在寻找其他可能的解决方案或确认我已经提出的上述解决方案之一.
谢谢!
编辑
我将实施Branko Dimitrijevic提供的独家外键解决方案(见接受的答案).
我将在这种情况下稍作修改:
修改是创建一个中间表,其唯一的作用是强制子类型和"CommonChild"之间的独占FK约束(Dimitrijevic提供的精确模型减去"CommonChild"属性).CommonChild的PK将对中间表具有正常的FK约束.
这将阻止"CommonChild"具有2组3列复合FK.另外,由于识别关系从超类型维护到"CommonChild",[读取]查询可以完全有效地忽略中间表.
我得到以下内容
java.lang.ClassCastException: com.mchange.v2.c3p0.impl.NewProxyConnection
Run Code Online (Sandbox Code Playgroud)
当以下代码执行时.你能帮我解决一下吗?
ComboPooledDataSource connPool = new ComboPooledDataSource();
connPool .setJdbcUrl(PropertyReader.getSystemProperty(DB_URL));
connPool .setUser(PropertyReader.getSystemProperty(DB_USER));
connPool .setPassword(Decryption.getDecryptedPwd(DB_PASSWORD));
connPool .setMaxPoolSize(MAX_POOL_SIZE);
connPool .setMaxIdleTime(MAX_IDLE_TIME);
connPool .setMinPoolSize(MIN_POOL_SIZE);
connPool .setMaxAdministrativeTaskTime(15);
java.sql.Connection conn = connPool.getConnection();
oracle.sql.CLOB c = CLOB.createTemporary(conn, false, CLOB.DURATION_SESSION);
Writer writer = c.setCharacterStream(0L);
writer.write(String.valueOf(pNoListDelimited).toCharArray());
writer.flush();
writer.close();
Run Code Online (Sandbox Code Playgroud)
异常堆栈跟踪
java.lang.ClassCastException: com.mchange.v2.c3p0.impl.NewProxyConnection
at oracle.sql.CLOB.createTemporary(CLOB.java:676)
at oracle.sql.CLOB.createTemporary(CLOB.java:640)
……
…..
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
at java.lang.Thread.run(Thread.java:595)
Run Code Online (Sandbox Code Playgroud) 我有一个使用JsonField字段的Django模型。
有时,我用IP地址更新该字段,然后保存该字段:
class Agent(models.Model):
properties = jsonfield.JSONField(default = {})
def save_ip_address(self, ip_address):
self.properties['ip'] = ip_address
self.save()
Run Code Online (Sandbox Code Playgroud)
看起来挺直的..不是吗?
但是该字段没有与ip字典项一起保存...我也不知道为什么!
我做了一个可行的解决方法,但在我的代码中看起来不太好:
d = self.properties
d['ip'] = ip_address
self.properties = d
self.save()
Run Code Online (Sandbox Code Playgroud)
这样,JsonField确实与IP地址一起保存在数据库中。
有谁知道为什么第一种方法行不通?我应该怎么做才能解决?
谢谢!
我们在AWS上托管一个Rails应用程序,该应用程序在amazon-rds数据库上使用mysql.我们在数据库中有一个我们想要迁移的巨型表,但由于数百万行,所以需要几天时间才能进行迁移.具体来说,我们正在移动VARCHAR到一个TEXT专栏
如何在没有用户遇到停机的情况下迁移此大型生产数据库?
我听到的一个想法是设置数据库的副本,并在那里进行迁移,并在完成后将其切换为主数据库.但是,我不确定这将如何考虑在迁移过程中输入的用户数据.
更新:这可能是相关的:amazon-rds提供了读取副本和多可用区部署,看起来它们可能是针对此类事件而制作的.不过,第一次这样做,所以欢迎任何方法的指导,无论是这个还是另一个.
我想将jBASE用作新Web应用程序上的数据库。但是似乎我必须使用jBASE BASIC(jBC)与数据库进行交互。我知道jEDI可以做什么,但是我不知道如何使用它。有谁知道,我如何使用某些ODBC或jEDI在php页面上对jBASE执行CRUD?我是jBASE的新手,我们将不胜感激。谢谢。
我喜欢在流星的集合中一次添加多个文档.
MongoDB从2.2支持这个:
db.collection.insert([{docNumber: 1},{docNumber: 2}])
Run Code Online (Sandbox Code Playgroud)
是否有可能在Meteor中实现这种行为?就像是:
myCollection.insert([{docNumber: 1},{docNumber: 2}])
Run Code Online (Sandbox Code Playgroud)
目前,这将作为一个文件添加.遗憾的是,我不能使用迭代器,因为用例正在加载超过100'000个文档.单次插入会减慢速度.
我试图将类对象的arraylist保存到ormlite数据库中,但它给出了错误java.lang.IllegalArgumentException:没有字段在类java.util.ArrayList中有DatabaseField注释
我的代码是
@DatabaseTable
public class ManageModelDetails {
@DatabaseField(generatedId = true)
private int id;
@DatabaseField(foreign = true, foreignAutoRefresh = true)
private ArrayList<ModelDetails> listModelDetails;
// ===============================================
public ManageModelDetails() {
super();
}
// ===============================================
public ManageModelDetails(int id, ArrayList<ModelDetails> listModelDetails) {
super();
this.id = id;
this.listModelDetails = listModelDetails;
}
// ===============================================
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
public void setModelList(ArrayList<ModelDetails> listModelDetails) {
this.listModelDetails = listModelDetails;
}
public ArrayList<ModelDetails> getModelList() {
return listModelDetails;
}
}
Run Code Online (Sandbox Code Playgroud) 我在Heroku中创建了一个新数据库,显示在我的仪表板中; 当我进入设置时,它不允许我重命名,说明"内部服务器错误".如何重命名我的数据库?
我正在定制django管理员,我想更改我的字段的显示名称.我认为答案就在这里,但我找不到.由于Meta类,我已经更改了表名.我还订购了田地,收集了它们,折叠了它们......