问题列表 - 第233492页

SQL默默地将int转换为varchar,但是当遇到varchar时会抛出错误?

我最近在一个SQL脚本中遇到了一个问题,其中一个插入语句(插入多行)有一个类型为varchar(10)的列,它插入的数据行是以int方式传递的.

但是,当我添加要插入的新行数据并在varchar列中使用varchar时,SQL尝试将其转换为int,即使该列的类型为varchar(10)

这是您可以在本地运行的示例.

CREATE TABLE dbo.TestTable
    (
    VarcharColumn varchar(10) NOT NULL
    )  ON [PRIMARY]

insert into TestTable(VarcharColumn)
Values (1)
Run Code Online (Sandbox Code Playgroud)

当你运行它时,它会很好地插入,SQL必须以静默方式将该整数值转换为后台的varchar.

但是如果你试试这个:

insert into TestTable(VarcharColumn)
Values (1),(2),('Hello')
Run Code Online (Sandbox Code Playgroud)

SQL将抛出以下错误:

将varchar值'Hello'转换为数据类型int时转换失败.

在这种情况下,任何人都可以解释SQL的内部工作原理吗?特别:

  1. 为什么SQL允许您将整数插入varchar列
  2. 为什么当SQL静默转换这些值时,如果它在实际的varchar上运行,它会尝试将其转换为int.

我理解如何解决这个问题以及如何首先避免它,但我正在寻找一个解释为什么SQL以这种方式工作.

sql sql-server

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

JavaFX单实例应用程序

当用户"关闭"程序时单击所有退出按钮,以便不再有托盘图标时,尝试这样做.

我调用了Platform.setImplicitExit(false); 所以程序仍然在后台运行.

我试图学习如何使用它,当用户重新单击运行jar的.exe文件时,而不是运行新程序,它重新显示在后台运行的程序.

 Platform.setImplicitExit(false);
Run Code Online (Sandbox Code Playgroud)

java platform exe javafx stage

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

当我想从文本文件中读取时,使用C++中的<set>处理重复项?

我正试图找到一种快速读取文本文件中所有单词的方法,只保存唯一的单词和它们出现的次数.

如何为此设置工作?如果我将单词保存到其中,它会自动丢弃重复的单词,还是只会给出错误消息?

我能想到的唯一替代解决方案是将每个解决方案保存到矢量中,使用唯一算法然后保存到地图中,但这似乎效率低下.

c++

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

在 Web Worker 中使用 Canvas

有没有办法在 Web Worker 中使用 Canvas 元素?我想在 Web Worker 内部执行 canvas.toBlob 来降低图像质量

  • 我知道只有 ImageData 可以传递给 Web Worker,这对我没有帮助,我需要画布,而不是 canvasContext 来执行 canvas.toBlob
  • 我知道 Firefox 中实验性的离屏 Canvas,但我也希望其他浏览器支持。

就像也许通过https://github.com/substack/webworkify webworkify 一样?哪个允许在网络工作者中需要其他库?

我要么需要将 canvas 元素传递给 Web Worker,要么在 Web Worker 内部创建一个 canvas 元素,要么找到一种替代方法来降低图像质量。

javascript canvas web-worker html5-canvas

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

MySQL挂在ALTER TABLE上

我不太大的表挂在ALTER命令上.会是什么呢?

只有150k行,42个字段总共142 MB.InnoDB存储引擎和服务器版本:5.5.44-MariaDB MariaDB Server.1个字段'slotindex'是主键:bigint(20)和BTREE类型.

命令:

    MariaDB [mydb]> ALTER TABLE `runs` CHANGE `p_w_trans_x` `p_w_tran_x` FLOAT NOT NULL;
    Stage: 1 of 2 'copy to tmp table'   65.7% of stage done
    Stage: 2 of 2 'Enabling keys'      0% of stage done
Run Code Online (Sandbox Code Playgroud)

在这个阶段2将永远完全挂起.

进程列表如下:

MariaDB [(none)]> show full processlist;
+--------+------+-----------------+-----------+---------+-------+---------------------------------+---------------------------------------------------------------------+----------+
| Id     | User | Host            | db        | Command | Time  | State                           | Info                                                                | Progress |
+--------+------+-----------------+-----------+---------+-------+---------------------------------+---------------------------------------------------------------------+----------+
| 274226 | root | localhost:45423 | edc_proxy | Sleep   | 16043 | …
Run Code Online (Sandbox Code Playgroud)

mysql mariadb

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

Excel:使用完全匹配突出显示重复项

我有两列数据,我想使用条件突出显示来查找两列中的EXACT匹配.但是,使用像这样的公式会出现很多不正确的匹配:

=MATCH(A1,B:B,0)>0
Run Code Online (Sandbox Code Playgroud)

有很多部分匹配,因此突出显示我不想要的单元格.我想要的是相当于"查找和替换"对话框中的"匹配整个单元格内容"复选框.

为了清楚起见,Excel似乎会进行部分匹配 - 这里是选中"匹配整个单元格内容"的"查找和替换"对话框,并搜索所有匹配项:

搜索所有比赛,任何比赛

screenshot1

比.勾选复选框的对话框和结果:

搜索所有匹配项,匹配整个单元格

screenhot2

但这仅适用于查找和替换.如何更新上面的公式以相同的方式工作,以便只突出显示与单元格中的内容完全匹配?

excel vba excel-vba

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

从JSON文件创建简单的Node.js API

我有一个JSON文件夹,我想用它来创建一个简单的API.

这是我的文件夹结构的简化版本:

/clients.json

/clients/1/client.json

/clients/2/client.json

...

我的/clients.json文件看起来像这样:

[
    {
        "id": 1,
        "name": "Jon Parker"
    },
    {
        "id": 2,
        "name": "Gareth Edwards"
    },
    ...
]
Run Code Online (Sandbox Code Playgroud)

我的/clients/1/client.json文件看起来像这样:

[
    {
        "date": "2014-09-12",
        "score": 40,
        ...
    },
    {
        "date": "2015-02-27",
        "score": 75,
        ...
    },  
    {
        "date": "2015-05-10",
        "score": 75,
        ...
    },
    {
        "date": "2016-08-27",
        "score": 60,
        ...
    }
]
Run Code Online (Sandbox Code Playgroud)

id from clients.json与相关详细信息所在的文件夹相关.

我在客户端文件夹中有很多JSON文件,而不是在客户端单独加载这些文件,我想使用Node.js创建一个API,这给了我更多的灵活性,即...

返回客户名称和id的列表 /clients

返回客户详细信息 /clients/:id/details

最重要的是,返回所有客户的名称和相关细节 /clients/all/details

我确实开始玩json-server,但它要求你的JSON是一个对象而不是一个数组,不幸的是我坚持使用这个JSON的格式.

感谢任何帮助!

javascript json node.js json-server

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

React和Redux:未捕获错误:在调度之间检测到状态突变

我正在使用"受控"组件(setState()在组件内使用)并在尝试保存表单数据时间歇性地获取此错误.所述UserForm onSave呼叫返回到saveUser在下面的部件代码方法.

我已经查看了Redux文档,并且无法完全了解我正在修改状态以导致标题中的错误,具体是: Uncaught Error: A state mutation was detected between dispatches, in the path 'users.2'. This may cause incorrect behavior.

据我所知,只有本地修改,并且reducer返回一个全局状态的副本,并添加了我的更改.我一定错过了什么,但是什么?

这是组件代码:

import React, {PropTypes} from 'react';
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import * as userActions from '../../actions/userActions';
import UserForm from './UserForm';


export class ManageUserPage extends React.Component {
  constructor(props, context) {
    super(props, context);

    this.state = {
      user:  Object.assign({}, this.props.user),
      errors:  {},
      saving:  false
    };
    this.updateUserState = this.updateUserState.bind(this);
    this.saveUser = this.saveUser.bind(this); …
Run Code Online (Sandbox Code Playgroud)

reactjs redux

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

Python lxml etree.tostring() 返回在 mod_wsgi 上运行的空字符串

我在 CentOS 6.8 上安装了 Python 2.7.8,我的服务器基于 Apache2 + WSGI 构建。我的应用程序应该处理通过 http POST 收到的日期,然后根据从本地 .xml 文件获取的 XML 模板创建指令。最后,它必须用 200 OK 响应发回 xml 指令。应用程序的逻辑似乎工作正常,我可能会看到我更新的 xml 树:

print etree.tostring(root, pretty_print=True, xml_declaration-True, encoding='UTF-8')
Run Code Online (Sandbox Code Playgroud)

问题似乎发生在我正在执行相同操作但尝试将输出分配给变量的代码的下一行:

xml_body = etree.tostring(root, pretty_print=True, xml_declaration-True, encoding='UTF-8')
Run Code Online (Sandbox Code Playgroud)

打印 xml_body

输出是空字符串,因此我的应用程序不会向 Apache 返回任何内容。

我的环境信息可能会有所帮助:

==For bug report ===
Python              : sys.version_info(major=2, minor=7, micro=8, releaselevel='final', serial=0)
lxml.etree          : (3, 6, 4, 0)
libxml used         : (2, 7, 6)
libxml compiled     : (2, 9, 4)
libxslt used        : (1, 1, 26)
libxslt compiled    : …
Run Code Online (Sandbox Code Playgroud)

python wsgi

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

线程内的虚拟调用忽略派生类

在以下程序中,我在一个线程中有一个虚拟调用:

#include <iostream>
#include <string>
#include <thread>
#include <mutex>
#include <condition_variable>

class A {
public:
    virtual ~A() { t.join(); }
    virtual void getname() { std::cout << "I am A.\n"; }
    void printname() 
    { 
        std::unique_lock<std::mutex> lock{mtx};
        cv.wait(lock, [this]() {return ready_to_print; });
        getname(); 
    };
    void set_ready() { std::lock_guard<std::mutex> lock{mtx}; ready_to_print = true; cv.notify_one(); }
    void go() { t = std::thread{&A::printname,this}; };

    bool ready_to_print{false};
    std::condition_variable cv;
    std::mutex mtx;
    std::thread t{&A::printname,this};
};

class B : public A {
public:
    int x{4};
};

class C …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading thread-safety

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