问题列表 - 第15215页

MySQL - 基于日期加入

是否可以根据相同的日期加入两个表,而不是考虑时间因素?

就像是:

... FROM约会LEFT JOIN销售ON appointmentments.date = sales.date ...

唯一的问题是它是一个日期时间字段,所以我想确保它只查看日期并忽略时间

mysql sql datetime join

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

dest缓冲区小于src缓冲区时的strcpy

我试图了解strcpy和strncpy的区别/缺点.有人可以帮忙:

void main()
{
char src[] = "this is a long string";
char dest[5];

strcpy(dest,src) ;
printf("%s \n", dest);
printf("%s \n", src);

}
Run Code Online (Sandbox Code Playgroud)

输出是:

this is a long string 
a long string 
Run Code Online (Sandbox Code Playgroud)

问题:我不明白,源sting是如何被修改的.根据解释,strcpy应该继续复制,直到它遇到'\ 0',所以它确实如此,但为什么"src"字符串被修改.

请解释.

c string buffer-overflow strcpy

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

如何修改Eclipse代码格式?

当我使用Eclipse重新格式化代码时,它会像这样转换方法头:

public void myMethod(String param) {
Run Code Online (Sandbox Code Playgroud)

像这样的方法标题:

public void myMethod(
                     String param) {
Run Code Online (Sandbox Code Playgroud)

当我被带到这里时,我以前从未使用过Eclipse,我导入了其他人提供的项目设置.我已经看到,在Eclipse上工作的小型新项目不会这样做,所以它必须在我导入的设置中.但是我已经浏览了我能找到的每个面板,以及我可以在工作区找到的每个隐藏文件,而我无法弄清楚导致这种情况的原因.

我该如何关闭它?我不希望在我的方法签名中的参数之前换行,我无法想象为什么有人会这样做!

java eclipse code-formatting code-standards

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

在 Windows 中,如何创建子进程并捕获其 stdin、stdout 和 stderr,而不复制任何可继承的句柄?

这个问题至少有三个部分,所以请耐心等待:

1)CreateProcess有一个参数bInheritHandles,它使子进程继承父进程中所有可继承的句柄。此选项必须设置为 TRUE 以允许父级在 STARTUPINFO 参数中为子级指定 stdin、stdout 和 stderr 句柄。

2) 在 Win32 中,当有多个句柄打开同一个文件时,删除和重命名文件可能会失败。

3) Microsoft CRT 的 open() 函数默认会创建可继承的句柄。此外,默认情况下创建的文件句柄会遇到上述问题 2。

这种神奇的组合产生了以下操作问题:库 A 调用 open() 并且不希望后续的重命名和删除失败。在该过程的其他地方,另一个库 B 正在调用 CreateProcess,并将 bInheritHandles 设置为 TRUE(以捕获 stdin/out/err)临时创建重复句柄。现在偶尔库 A 的文件操作会失败。自然地,库 A 和 B 由不同的人维护。我还知道另一个库 A' 使用 open() 并遇到类似问题。

这篇知识库文章讨论了一个相关的问题和解决方案。但是它仍然依赖于在父进程中调用 CreateProcess 并将 bInheritHandles 设置为 TRUE,所以它不能解决这个问题。

我想知道其他人是否遇到过这个问题,是否没有众所周知的解决方案?

上面的 kb 文章基本上暗示在将 bInheritHandles 设置为 TRUE 的情况下调用 CreateProcess 是不明智的,所以我倾向于修复库 B,使其永远不会这样做。我会这样做:

  1. 创建一个挂起的中间进程(最好使用 rundll 运行库 B 中的自定义入口点),并将 bInheritHandles 设置为 FALSE。
  2. 创建 stdin/out/err 管道并将这些管道的正确末端复制到中间进程。
  3. 以某种方式将被欺骗的句柄传递给中间进程。
  4. 恢复中间过程。
  5. 从中间进程用来自父进程的管道填写 STARTUPINFO 并在 bInheritHandles 设置为 …

c windows winapi

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

jQuery UI Sortable,如何确定更新事件中的当前位置和新位置?

我有:

<ul id="sortableList">
     <li>item 1</li>
     <li>item 2</li>
     <li>item 3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我已连接到update: function(event, ui) { }但不知道如何获得元素的原始和新位置.如果我将项目3移动到项目1之上,我希望原始位置为2(基于0的索引)并且项目3的新位置为0.

jquery-ui jquery-ui-sortable

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

C#:在shlwapi.dll中实现或替代StrCmpLogicalW

对于我的应用程序中的自然排序,我目前在shlwapi.dll中调用一个名为StrCmpLogicalW的函数.我正在考虑尝试在Mono下运行我的应用程序,但当然我不能拥有这个P/Invoke的东西(据我所知).

是否有可能在某处看到该方法的实现,或者是否有一个好的,干净且高效的C#片段可以做同样的事情?

我的代码目前看起来像这样:

[SuppressUnmanagedCodeSecurity]
internal static class SafeNativeMethods
{
    [DllImport("shlwapi.dll", CharSet = CharSet.Unicode)]
    public static extern int StrCmpLogicalW(string psz1, string psz2);
}

public class NaturalStringComparer : IComparer<string>
{
    private readonly int modifier = 1;

    public NaturalStringComparer() : this(false) {}
    public NaturalStringComparer(bool descending)
    {
        if (descending) modifier = -1;
    }

    public int Compare(string a, string b)
    {
        return SafeNativeMethods.StrCmpLogicalW(a ?? "", b ?? "") * modifier;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,我正在寻找的是上述类的替代品,它不使用extern函数.

c# natural-sort extern

9
推荐指数
2
解决办法
3990
查看次数

在MySQL中随机选择有两个条件的有限数量的记录

我有一个MySQL表,其中包含一个名为"priority"的列.该列可以有两个值:高或低.我想从表中随机选择8条记录,但我希望其中6条是高优先级,其中2条是低优先级.如果可能的话,我想在一个SQL语句中做到这一点.有没有办法在一个查询中根据这种标准做两个LIMITS?

mysql sql

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

如何制作向用户显示图像而不是文本的下拉列表?

ObjectChoiceField字段符合我的所有要求,但它并不漂亮.

这就是我所拥有的:

String pets[] = {"Dog", "Cat", "Duck" };
ObjectChoiceField dd = new ObjectChoiceField("My Pet",pets,0,ObjectChoiceField.FIELD_LEFT);
Run Code Online (Sandbox Code Playgroud)

但我宁愿在下拉列表中有图片.我的理解是对象数组必须包含支持toString方法的对象.我必须有一种方法可以在其他应用程序中看到它,我在API中找不到正确的对象.

它不必是ObjectChoiceField.

java blackberry jde java-me drop-down-menu

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

在“in”子句的存储过程中使用MySQL用户定义变量

当将逗号分隔的 id 字符串作为 varchar 发送到 MySQL 存储过程时,我无法使用该字符串作为 IN 子句的一部分来返回正确的结果。该字符串被截断为小数,并且仅使用第一个值。

我以为我可以通过准备然后执行该语句来解决这个问题,但这仍然只返回第一个值的匹配项。

代码示例可能会让事情变得更清楚一些。我想将以下内容转换为存储过程(使用 in 子句动态):

select id, name from cities where id in (1,2,3);
Run Code Online (Sandbox Code Playgroud)

这是我使用准备好的语句的存储过程:

DROP PROCEDURE IF EXISTS `cities_select_by_ids` $$
CREATE PROCEDURE `cities_select_by_ids`(
    in _cityIds varchar(1000)
)
BEGIN
SET  @cityIds = _cityIds;

PREPARE stmt FROM '
    select
      id,
      name
    from cities
    where id in (?);
';

EXECUTE stmt USING @cityIds;
DEALLOCATE PREPARE stmt;

END $$
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

调用存储过程我只得到城市“1”的匹配项:

call cities_select_by_ids_prepare('1, 2, 3');
Run Code Online (Sandbox Code Playgroud)

这是表和数据的创建和插入脚本:

CREATE TABLE cities (
  id int(10) unsigned NOT …
Run Code Online (Sandbox Code Playgroud)

mysql sql stored-procedures

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

为什么C,C++和LISP在嵌入式设备和机器人中如此普遍?

嵌入式设备和机器人最需要的软件语言技能似乎是C,C++和LISP.为什么没有更多的近期语言进入这些应用程序?

例如,Erlang似乎特别适合机器人应用程序,因为它使并发编程更容易,并允许热交换代码. 如果没有其他原因支持多种编程范例,Python似乎是有用的.我甚至对Java没有涉足通用机器人编程感到惊讶.

我确信有一个论点是"一些较新的语言被解释,而不是编译" - 这意味着编译语言更快,并且使用更少的计算资源.在我们可以将Java虚拟机放在手机或SunSpot上的时候,情况仍然如此吗?(并不是LISP解释?)

lisp python embedded erlang robotics

20
推荐指数
7
解决办法
5484
查看次数