请考虑以下表结构:
titles(titleID*, titleName)
platforms(platformID*, platformName)
products(platformID*, titleID*, releaseDate)
publishers(publisherID*, publisherName)
developers(developerID*, developerName)
products_publishers(platformID*, titleID*,publisherID*)
products_developers(platformID*, titleID*, developerID*)
Run Code Online (Sandbox Code Playgroud)
products表是一个使用platformID和titleID的两个外键的joiner表.这是因为某些标题在不同平台上具有相同的属性.为了避免数据重复,我创建了joiner表.
当我创建products_publishers表时,我的问题出现了.因为一个产品可以有多个发布者,所以我必须创建一个由三个外键构成的joiner表.这是最佳做法吗?我的场景可以让我创建一个包含四个这样的条目的表.我考虑使用一列来将这些数据存储在products表中,并放弃了joiner表和publisher表,但直觉上这感觉不对.
有什么想法吗?
非常感谢
我已经在一个表中添加了一个列,该表将存储基于串联其他列的格式化字符串,以便我可以更轻松地搜索它.为了保存将整个表加载到另一个应用程序并更新新列然后持久化,我想编写一个UPDATE SQL查询.但我无法弄清楚如何采用整数列并将其格式化,如本例所示
源列值= 1目标列值= 0001
我希望在SQL中添加3个前导零.
有任何想法吗?
重复:
序列化对象时省略所有xml命名空间? 不一样..我想用另一种方式:反序列化!
我有一个C#类如下:
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.portalfiscal.inf.br/nfe")]
[System.Xml.Serialization.XmlRootAttribute("NFe", Namespace = "http://www.portalfiscal.inf.br/nfe", IsNullable = false)]
public partial class TNFe
{
private TNFeInfNFe infNFeField;
private SignatureType signatureField;
/// <remarks/>
public TNFeInfNFe infNFe
{ ...
Run Code Online (Sandbox Code Playgroud)
我使用这个类来按用户请求序列化/反序列化XML文件.但是我遇到了一个问题:在这个软件的新版本中添加了名称空间定义.XML仍然是相同的,只添加名称空间定义.
例如,最后一个版本......
<?xml version="1.0" encoding="utf-8" ?>
<NFe>
<infNFe version="1.10">
...
Run Code Online (Sandbox Code Playgroud)
和新版本......
<?xml version="1.0" encoding="utf-8" ?>
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
<infNFe version="2.10">
...
Run Code Online (Sandbox Code Playgroud)
我需要加载带有和不带这些名称空间的XML文件.我有很多嵌套类,每个嵌套类都有自己的命名空间定义.
我想对两个XML使用相同的类,有和没有名称空间.
我试图创建一个XmlTextReader并覆盖NamespaceURI方法,但我仍然收到一个没有太多信息的异常.我认为.NET引擎正在尝试针对XML强制类命名空间定义.
我需要从NetBeans Java项目目录中将显而易见的(src,dist)添加到我的版本控制系统中吗?我可以删除整个构建目录吗?我是否应该添加nbproject目录,因为我正在另一台机器上处理同一个项目?
我想至少删除构建目录,因为无论什么时候应用程序都没有编译我就会遇到git的问题,因为git认为有大量的文件丢失了.
我正在开发一个ASP.NET MVC Web应用程序,我已经创建了自己的身份验证模块,这是基于会话的(没有cookie).问题是:当我重建我的应用程序时,我会自动记录(会话为空).
通常这不是一个大问题,因为我的应用程序不是在生产环境中"自动"重建.但我还创建了一个更改资源文件的模块,在修改资源文件后,应用程序似乎会自动重建.
所以我的实际问题是:是否有可能"保持"会话变量/在重建后保持登录状态?
我正在创建一些我想更新到数据库表中的图形。我遵循的程序是:
我的第 2 步和第 3 步代码:
pngfile <- file(<filename>, "rb")
N <- 1e6
repeat{
pngfilecontents <- readBin(pngfile, what="raw", n=N)
if(length(pngfilecontents) == N) N <- 5 * N else break
}
close(pngfile)
Run Code Online (Sandbox Code Playgroud)
数据库中有一个表 df_DemandPatternMaster,主键为 DemandPatternID,适当的记录在 pngFile 字段中为 NULL 值。
update.query <- "update df_DemandPatternMaster set "
update.query <- paste( update.query, " pngFile = '", serialize(pngfilecontents, NULL) , "' where DemandPatternID = ", , sep="")
d <- sqlQuery(connection, update.query)
Run Code Online (Sandbox Code Playgroud)
我最终只插入了一个字节的数据。原因似乎是 paste 看到序列化的向量并创建一个带有前缀和后缀文本的向量。我也试过直接传递png文件句柄
pngfile <- file(<filename>, "rb")
update.query <- …Run Code Online (Sandbox Code Playgroud) 这是我经常遇到的设计问题,我想找到关于这个主题的一些一般见解.这里提供的代码只是一个例子.
在设计阶段,很容易确定您需要一个对象:
User
==========
Unique ID
Login name
Password
Full name
Run Code Online (Sandbox Code Playgroud)
并且很容易将其转换为数据库对象:
CREATE TABLE user (
user_id INT NOT NULL PRIMARY KEY,
username VARCHAR(15) NOT NULL UNIQUE,
password_hash CHAR(32) NOT NULL,
full_name VARCHAR(50)
);
Run Code Online (Sandbox Code Playgroud)
我怀疑从PHP级别开始.明显的转换是:
<?php
class User{
public $user_id, $username, $full_name;
}
?>
Run Code Online (Sandbox Code Playgroud)
但是,我应该如何填写实际值?
我可以保持类DB不可知:
<?php
class User{
public $user_id, $username, $full_name;
public function __construct($user_id, $username, $full_name){
$this->user_id = $user_id;
$this->username = $username;
$this->full_name = $full_name;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
但后来我需要在其他地方运行查询......
我可以将它封装在类构造函数中:
<?php
class User{
public $user_id, $username, $full_name;
public …Run Code Online (Sandbox Code Playgroud) 我想验证表单以确保用户以姓名和姓氏书写.
如果用户只在他的姓写,形式应与姓氏字段旁边的错误信息再次显示,但名称值应该仍然在那里.
嘿,我不知道怎么做.我只是一个新手PHP程序员.
这是我到目前为止所拥有的:
<html>
<head>
</head>
<body>
<form action="formprueba.php" method="get">
<dl>
<dt>Last Name:</dt>
<dd><input type="text" value="" name="name" />
<?php if((isset($_GET['name'])) && ($_GET['name'] == "")){
echo "Please write a correct name.";
}
?>
</dd>
<dt>Last Name:</dt>
<dd><input type="text" value="" name="lastname" />
<?php if((isset($_GET['lastname'])) && ($_GET['lastname'] == "")){
echo "Please write a correct last name.";
}
?>
</dd>
<br />
<dt>
<input type="submit" value="enviar" />
</dt>
<input type="hidden" name="enviado" value="j"/>
</dl>
</form>
</body>
Run Code Online (Sandbox Code Playgroud)
另外,我确信这个验证很糟糕,如果你有几分钟,如果有人能给我一个更有效的验证方法(不使用第三方插件),我真的会毕业.
谢谢你.
我正在将一个C#项目翻译成F#.虽然逻辑部分很简单,但我对GUI部分感到困惑:
public partial class GomokuGUI : Form {
private void GomokuGUI_Load(object sender, EventArgs e)
{
this.Width = 500;
this.Height = 550;
...
this.Paint += new PaintEventHandler(GomokuGUI_Paint);
Graphics gp = this.CreateGraphics();
DrawChessbord(gp);
}
private void GomokuGUI_Paint(object sender, PaintEventArgs e)
{
Graphics gp = e.Graphics;
DrawChessbord(gp);
}
void DrawChessbord(Graphics gp)
{
float w, h;
SolidBrush br = new SolidBrush(linecolor);
Pen p = new Pen(br, frame);
gp.DrawLine(p, 20, 45, this.Width - 25, 45);
...
}
private void Form1_Click(object sender, EventArgs e) {
Graphics …Run Code Online (Sandbox Code Playgroud) 我在SQL Server 2005上执行大约26MB的.sql文件时,当前有以下错误消息:
Msg 701, Level 17, State 123
There is insufficient system memory to run this query.
Run Code Online (Sandbox Code Playgroud)
我正在使用4GB内存,64位Windows 7旗舰版,Core2Duo T6400(2GHz)......
有没有办法执行它而不接收此消息(可能强制SQL Server使用交换文件?)或部分执行它(如100次查询一次)...
该文件基本上是一个CREATE TABLE,后面是INSERT查询的thousads,我有很多这些(使用ABC DBF Converter将.DBF文件转换为SQL查询)
任何想法将非常感谢!