问题列表 - 第25435页

用于实现现场变更跟踪的模式

对于我最近的一个项目,我必须实施现场变更跟踪.因此,只要用户更改了字段的值,就会记录更改,以便对更改进行全面审核.

在数据库中,我将其实现为FieldChanges具有以下字段的单个表:

  • 表名
  • 字段名
  • 的recordId
  • DateOfChange
  • ChangedBy
  • INTVALUE
  • TextValue
  • DateTimeValue
  • BoolValue

对象的sproc保存更改确定每个字段是否已更改,并将记录插入FieldChanges(如果有):如果更改字段的类型是int,则将其记录IntValueFieldChanges表中的字段中,等等.

这意味着对于具有任何id值的任何表中的任何字段,我可以查询FieldChanges表以获取更改列表.

这很有效,但有点笨拙.能够实现类似功能的其他人是否可以提出更好的方法,以及为什么他们认为更好?

我真的很感兴趣 - 谢谢.

大卫

sql database design-patterns change-tracking

6
推荐指数
2
解决办法
2083
查看次数

使用带有Qt的帖子将二进制文件发送到服务器

在Qt我需要使用post将sqlite文件(二进制文件)发送到网站.所以我所做的就是打开文件并尝试将其内容读入QByteArray,我可以在QNetworkRequest的帮助下将其发送到服务器.我可以处理请求,因为文件被发送到服务器但文件只是空的.我在读sqlite文件的内容错了吗?(我知道文件有问题)你能看到我的代码有什么问题吗?

QByteArray data;
QFile file("database.sqlite");
if (!file.open(QIODevice::ReadWrite))
    return;

QDataStream in(&file);
in.setVersion(QDataStream::Qt_4_6);
in >> data ;

QString boundary;
QByteArray dataToSend; // byte array to be sent in POST

boundary="-----------------------------7d935033608e2";

QString body = "\r\n--" + boundary + "\r\n";
body += "Content-Disposition: form-data; name=\"database\"; filename=\"database.sqlite\"\r\n";
body += "Content-Type: application/octet-stream\r\n\r\n";
body += data;
body += "\r\n--" + boundary + "--\r\n";
dataToSend = body.toAscii();

QNetworkAccessManager *networkAccessManager = new QNetworkAccessManager(this);
QNetworkRequest request(QUrl("http://www.mydomain.com/upload.aspx"));
request.setRawHeader("Content-Type","multipart/form-data; boundary=-----------------------------7d935033608e2");
request.setHeader(QNetworkRequest::ContentLengthHeader,dataToSend.size());
connect(networkAccessManager, SIGNAL(finished(QNetworkReply*)),this, SLOT(sendReportToServerReply(QNetworkReply*)));
QNetworkReply *reply = networkAccessManager->post(request,dataToSend); // perform POST request
Run Code Online (Sandbox Code Playgroud)

binary post qt file

7
推荐指数
2
解决办法
7530
查看次数

Delphi - 隐藏的MDI子表单创建

我的应用程序有许多mdi表单,它们是在成功用户登录后创建的.我怎样才能最好地隐藏这个创作过程?它看起来很愚蠢,而且在创建新表单后绘制mdi表单需要更长的时间,等等.

到目前为止,我已经使用了LockWindowUpdate,它并没有隐藏所有内容,但我想使用启动画面来显示创建进度,但我不能使用LockWindowUpdate.

最诚挚的问候Janne

forms delphi mdi

5
推荐指数
1
解决办法
8219
查看次数

如何隐藏某些页面的tabbar并使其再次可见?

我有一个应用程序,它使用一个标签栏控制器和一个导航控制器.但是对于某些页面,我想隐藏两个栏(标签和导航)之后,那些将再次可见...我能够隐藏导航栏并且还完成了制作.它出现在一些页面之后.我可以隐藏标签栏 - (BOOL)hidesBottomBarWhenPushed {return TRUE; }

但问题是如何在某些页面后再次显示它?

iphone objective-c uitabbarcontroller tabbarcontroller

0
推荐指数
1
解决办法
1587
查看次数

var_export 的替代品

var_export当参数具有循环引用时,函数会导致异常。是否有任何替代方案(除了serialize)可以正确处理它?

php

5
推荐指数
1
解决办法
1266
查看次数

合并两个正则表达式来截断字符串中的单词

我试图提出以下函数将字符串截断为整个单词(如果可能,否则它应截断为字符):

function Text_Truncate($string, $limit, $more = '...')
{
    $string = trim(html_entity_decode($string, ENT_QUOTES, 'UTF-8'));

    if (strlen(utf8_decode($string)) > $limit)
    {
        $string = preg_replace('~^(.{1,' . intval($limit) . '})(?:\s.*|$)~su', '$1', $string);

        if (strlen(utf8_decode($string)) > $limit)
        {
            $string = preg_replace('~^(.{' . intval($limit) . '}).*~su', '$1', $string);
        }

        $string .= $more;
    }

    return trim(htmlentities($string, ENT_QUOTES, 'UTF-8', true));
}
Run Code Online (Sandbox Code Playgroud)

以下是一些测试:

// Iñtërnâtiônàlizætiøn and then the quick brown fox... (49 + 3 chars)
echo dyd_Text_Truncate('Iñtërnâtiônàlizætiøn and then the quick brown fox jumped overly the lazy dog and one …
Run Code Online (Sandbox Code Playgroud)

php regex string truncate multibyte

7
推荐指数
1
解决办法
726
查看次数

X-PAYPAL-SECURITY-USERID,PASSWORD和SIGNATURE

我正在尝试实施PayPal Adaptive Payments API.进入标题我应该包括这些信息:

headers.put("X-PAYPAL-SECURITY-USERID", "tok261_biz_api.abc.com"); 
headers.put("X-PAYPAL-SECURITY-PASSWORD","1244612379"); 
headers.put("X-PAYPAL-SECURITY-SIGNATURE","lkfg9groingghb4uw5" 
headers.put("X-PAYPAL-DEVICE-IPADDRESS", "168.212.226.204"); 
headers.put("X-PAYPAL-REQUEST-DATA-FORMAT", "NV"); 
headers.put("X-PAYPAL-RESPONSE-DATA-FORMAT", "NV");  
headers.put("X-PAYPAL-APPLICATION-ID", "APP-80W284485P519543T");
Run Code Online (Sandbox Code Playgroud)

我为买家和卖家创建了测试帐户.但我真的不知道前三项是什么.我找不到那些信息.有多个网站developer.paypal.com,x.com所以令人困惑.我不知道应该使用哪个USERID和SIGNATURE.

paypal

4
推荐指数
1
解决办法
2987
查看次数

Haskell:处理类型和异常

我想知道捕获和处理异常的"Haskell方式".如下所示,我理解基本语法,但我不知道在这种情况下如何处理类型系统.

以下代码尝试返回所请求的环境变量的值.显然,如果那个变量不存在,我想捕获异常并返回Nothing.

getEnvVar x = do {
    var <- getEnv x;
    Just var;
} `catch` \ex -> do {
    Nothing
}
Run Code Online (Sandbox Code Playgroud)

这是错误:

Couldn't match expected type `IO a'
       against inferred type `Maybe String'
In the expression: Just var
In the first argument of `catch', namely
    `do { var <- getEnv x;
          Just var }'
In the expression:
      do { var <- getEnv x;
           Just var }
    `catch`
      \ ex -> do { Nothing }
Run Code Online (Sandbox Code Playgroud)

我可以返回字符串值:

getEnvVar x = do { …
Run Code Online (Sandbox Code Playgroud)

haskell types exception

2
推荐指数
1
解决办法
525
查看次数

Combobox人口问题

所以我有一个组合框 - 设计师代码:

this.cmbStatusBox.Items.AddRange(new object[] {
    "Ordered",
    "Cooking",
    "In-transit",
    "Delivered"});
Run Code Online (Sandbox Code Playgroud)

表单加载代码:

if (mainForm.boolEdit == true)
    {
        this.cmbStatusBox.Items.AddRange(new object[] {
        "Cooking",
        "In-transit",
        "Delivered"});
    }
    else
    {
        this.cmbStatusBox.Items.AddRange(new object[] {
        "Ordered"});
    }
Run Code Online (Sandbox Code Playgroud)

如您所见,我试图让组合框具有不同的值.事实上,我在设计师和组合框中的形式上都得到了什么.

我怎么能阻止这个?

我也有一个编辑功能,所以当我编辑一个记录时,我希望组合框由已经保存的内容填充.

只是一个随机问题,你能阻止用户输入一个不在组合框中的值吗?

谢谢

c#

0
推荐指数
1
解决办法
255
查看次数

通过 SSL 的 ShoutCast

所以我已经开始设置我的 ShoutCast 服务器 DNAS 并在我的主机上的 Winamp 中设置我的 DSP。服务器侦听端口 8000,因此根据某些说明,我为 winamp(Shoutcast DSP)安装了一个输出插件,并使用 8000 和密码进行连接。服务器接受连接。

现在,我现在该怎么办?我的主机受 SSL 保护,DNAS 服务器安装在安全 Web 目录中(如果这很重要)。我想要的最终结果是我想在家里(主机)上从任何计算机上收听我的 ShoutCast 设置。

我尝试浏览到我的 IP 地址和端口 8000(不使用 HTTPS),但它什么也没回来。如果我浏览HTTPS://my.server.com:8000,我得到错误代码:ssl_error_rx_record_too_long)

我完全错过了什么,还是我只是个白痴?

谢谢。

streaming ssl shoutcast internet-radio winamp

3
推荐指数
1
解决办法
8722
查看次数