问题列表 - 第16414页

如何从sqlite中的多个表中删除数据?

我正在使用sqlite数据库来存储数据.我有三个表:Invoice,InvRow,Invdetails.

表之间的关系是:

Invoice.Id = InvRow.InvId
InvRow.Id = Invdetails.RowId 
Run Code Online (Sandbox Code Playgroud)

我需要使用单个查询从三个表中删除相关条目.我怎样才能做到这一点?有帮助吗?

sqlite

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

C:正确释放多维数组的内存

假设您有以下用于初始化多维数组的ANSI C代码:

int main()
{
      int i, m = 5, n = 20;
      int **a = malloc(m * sizeof(int *));

      //Initialize the arrays
      for (i = 0; i < m; i++) { 
          a[i]=malloc(n * sizeof(int));
      }

      //...do something with arrays

      //How do I free the **a ?

      return 0;
}
Run Code Online (Sandbox Code Playgroud)

使用后**a,如何正确地从内存中释放它?


[更新](解决方案)

感谢Tim(以及其他人)的回答,我现在可以做这样的功能来从我的多维数组中释放内存:

void freeArray(int **a, int m) {
    int i;
    for (i = 0; i < m; ++i) {
        free(a[i]);
    }
    free(a);
}
Run Code Online (Sandbox Code Playgroud)

c malloc free memory-leaks memory-management

38
推荐指数
2
解决办法
4万
查看次数

构建过程 - 使用什么?

我正在考虑使用PowerShell和/或C#编写自己的交付代码,可能是对NAnt或MSBuild进行炮轰.

  1. 我为什么这样走?与使用NAnt或MSBuild相比,这是一项非常艰苦的努力吗?
  2. 任何好的,现代的书都能提供帮助吗?
  3. 有更好的想法吗?

背景(PS这对某些人来说是宗教问题.没有侮辱意图):

一人开店,多个探索性项目.作为我们大多数人 - 现在的Windows和ASP.Net.考虑移动和云.

我已经开始干涉NAnt了,并试图使用NAnt和CruiseControl.Net跟踪Expert .Net Delivery.整个"交付"问题已经解决,现在是时候"解冻"了.但是,我不知道该走哪条路.从我所学到的:

NAnt正在显示它的年龄.它很笨拙:理解和维护比C#等现代的OO语言更难理解和维护.即使在我读完这本书之后,在一个神秘的环境中工作似乎很奇怪,你想要执行的是XML,循环和继承(据我记得在"冰河时代"之前)很难做到.

MSBuid是MS特定的.我甚至不确定它是否会支持非MS环境.团队基础服务器很贵.

即便如此,他们似乎都提供了价值,因为在我的SO搜索中我没有听到任何人使用他们自己的自定义软件.但是,我不明白为什么不使用C#并根据需要简单地调用NAnt和/或MSBuild任务.

SO - NAnt Vs. 的MSBuild

我的建议正好相反 - 避免像瘟疫这样的MSBuild.NANT更容易设置您的构建以进行自动测试,部署到多个生产环境,与cruisecontrol集成以用于入口环境,与源代码控制集成.我们通过TFS/MSBuild(使用TFSDeployer,自定义PowerShell脚本等)经历了如此多的痛苦,以使它能够完成我们能够用NANT开箱即用的功能.不要浪费你的时间.

SO - NAnt与脚本:

构建产品远不仅仅是编译产品.由于这些工具(及其扩展)提供的功能,创建安装,更新版本号,创建托管,分发最终包等任务变得更加容易.虽然您可以使用常规脚本完成所有这些操作,但使用NAnt或MSBuild为您提供了一个可靠的框架来完成所有这些操作

msbuild nant build-process

10
推荐指数
1
解决办法
1602
查看次数

如何处理在C#中拖动标签?

我正在尝试构建一个表单,用户可以在其中拖动标签并将其放在文本框中.我可以在文本框中找到AllowDrop,但标签中没有"AllowDrag"等属性.此外,我为标签的所有拖放事件(DragEnter,DragLeave等)创建了方法,但它们似乎都不起作用.我无法弄清楚如何拖动.我该如何处理?

        private void label1_Click(object sender, EventArgs e)
    {

        // This one works
        status.Text = "Click";
    }

        private void label1_DragOver(object sender, DragEventArgs e)
    {

        // this and the others do not
        status.Text = "DragOver";
    }

    private void label1_GiveFeedback(object sender, GiveFeedbackEventArgs e)
    {
        status.Text = "GiveFeedback";
    }

    private void label1_DragDrop(object sender, DragEventArgs e)
    {
        status.Text = "DragDrop";
    }

    private void label1_DragEnter(object sender, DragEventArgs e)
    {
        status.Text = "DragEnter";
    }

    private void label1_DragLeave(object sender, EventArgs e)
    {
        status.Text = "DragLeave";
    }

    private void …
Run Code Online (Sandbox Code Playgroud)

c# drag-and-drop winforms

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

Preg_match alphanumeric -_'"和空格

任何人都有正则表达式允许字母数字和-_","以及空格?

php regex

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

.net中的Master-Detail GUI

这种类型的UI经常显示在各种网站和.net书籍中.

文本

这些类型的用户界面在商业和/或定制商业软件中是否可接受和/或受欢迎

请注意

(1)使用Binding Navigator,和

(2)以相同的形式放置主网格,细节网格和输入区域.

对我来说,无论UI多么微不足道,总是需要一个搜索工具,这里没有.当然,我发现在任何处理大量数据的UI中使用Binding Navigator都没有任何相关性.

user-interface winforms ui-design

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

事件可以用作事件监听器吗?

我正在尝试从我正在创建的对象中包含的私有对象中公开一些事件,看起来编译器对此很满意:

private WindowUpdateServer _windowUpdateServer;

public event WindowUpdateHandler WindowUpdated;

public RecieveWindowFramesManager() {

    _windowUpdateServer = new WindowUpdateServer();

    _windowUpdateServer.ExistingWindowUpdated += WindowUpdated; // ExistingWindowUpdated is a WindowUpdateHandler
}
Run Code Online (Sandbox Code Playgroud)

但是在RecieveWindowFramesManager初始化之后_windowUpdateServer.ExistingWindowUpdated == null.

我在这里遗漏了什么 - 看来这应该有用吗?

值得注意的是,在RecieveWindowFramesManager初始化之后,我将一个事件监听器附加到WindowUpdated但它永远不会被调用(即使_windowUpdateServer.ExistingWindowUpdated被触发).

c# events

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

ruby中的hmac-sha1与C#HMACSHA1不同

我正在尝试从ankoder.com测试API,并且在身份验证令牌的摘要计算方面存在问题.当我试图从C#调用时,样本是ruby.当我比较HMAC-SHA1之间的摘要结果时,我遇到了密码结果的问题.

为了便于在这里测试代码:

require 'hmac-sha1'
require 'digest/sha1'
require 'base64'
token="-Sat, 14 Nov 2009 09:47:53 GMT-GET-/video.xml-"
private_key="whatever"
salt=Digest::SHA1.hexdigest(token)[0..19]
passkey=Base64.encode64(HMAC::SHA1.digest(private_key, salt)).strip
Run Code Online (Sandbox Code Playgroud)

这给了我结果:"X/0EngsTYf7L8e7LvoihTMLetlM = \n"如果我在C#中尝试使用以下内容:

const string PrivateKey = "whatever";

var date = "Sat, 14 Nov 2009 09:47:53 GMT";//DateTime.Now.ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss") + " GMT";
string token=string.Format("-{0}-GET-/video.xml-", date);

var salt_binary=SHA1.Create().ComputeHash(Encoding.ASCII.GetBytes(token));
var salt_hex=BitConverter.ToString(salt_binary).Replace("-", "").ToLower();
var salt =salt_hex.Substring(0,20);

var hmac_sha1 =
            new HMACSHA1(Encoding.ASCII.GetBytes(salt));
hmac_sha1.Initialize();

var private_key_binary = Encoding.ASCII.GetBytes(PrivateKey);
var passkey_binary = hmac_sha1.ComputeHash(private_key_binary,0,private_key_binary.Length);

var passkey = Convert.ToBase64String(passkey_binary).Trim();
Run Code Online (Sandbox Code Playgroud)

salt的结果是一样的,但是密码结果是不同的--C#给了我:

QLC68XjQlEBurwbVwr7euUfHW/K =

两者都产生盐:f5cab5092f9271d43d2e

有什么好主意发生了什么?

c# ruby hash sha1 hmac

8
推荐指数
1
解决办法
4058
查看次数

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

在PHP中,什么是二进制字符串(b'xxxx')?

是什么b''("二进制串")在PHP语句的意思$str=b'xxxxxx';

php

15
推荐指数
3
解决办法
8203
查看次数