小编Lu4*_*Lu4的帖子

MySQL:在简单表“ id | parent | text”的ON UPDATE CASCADE上,不可能吗?

我有一张桌子:

CREATE TABLE IF NOT EXISTS `Tree` (
  `id` int(10) NOT NULL,
  `parent` int(10) DEFAULT NULL,
  `text` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`),
  KEY `parent` (`parent`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `Tree` (`id`, `parent`, `text`) VALUES
(1, 1, '1'),
(2, 1, '1.1'),
(3, 1, '1.2'),
(4, 1, '1.3');

ALTER TABLE `Tree` ADD CONSTRAINT `tree_ibfk_1` FOREIGN KEY (`parent`) REFERENCES `tree` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
Run Code Online (Sandbox Code Playgroud)

执行完以上所有语句后,发现以下问题:

UPDATE  `Tree` SET  `id` =  '10' WHERE …
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

同时使用GL_TEXTURE_2D和GL_TEXTURE_3D

前言

我有一个测试应用程序,它提取以下内容:

在此输入图像描述

左三角形通过以下方式绘制:

GL.glBegin(GL.GL_TRIANGLES);
{
    for (int i = 0; i < 50; i++)
    {
        GL.glColor4d(rand.NextDouble(), rand.NextDouble(), rand.NextDouble(), rand.NextDouble());
        GL.glVertex2d(rand.NextDouble(), rand.NextDouble());
        GL.glColor4d(rand.NextDouble(), rand.NextDouble(), rand.NextDouble(), rand.NextDouble());
        GL.glVertex2d(rand.NextDouble(), rand.NextDouble());
        GL.glColor4d(rand.NextDouble(), rand.NextDouble(), rand.NextDouble(), rand.NextDouble());
        GL.glVertex2d(rand.NextDouble(), rand.NextDouble());
    }
}
GL.glEnd();
Run Code Online (Sandbox Code Playgroud)

右三角形绘制为:

GL.glBindTexture(GL.GL_TEXTURE_2D, texture);

GL.glBegin(GL.GL_QUADS);
{
    GL.glTexCoord2f(0, 1); GL.glVertex2f(0, 1);
    GL.glTexCoord2f(0, 0); GL.glVertex2f(0, 0);
    GL.glTexCoord2f(1, 0); GL.glVertex2f(1, 0);
    GL.glTexCoord2f(1, 1); GL.glVertex2f(1, 1);
}
GL.glEnd();
Run Code Online (Sandbox Code Playgroud)

纹理通过FBO渲染.

问题

我很难让GL_TEXTURE_2D和GL_TEXTURE_3D一起玩.一切都很好,直到我取消注释以下代码部分:

GL.glEnable(GL.GL_TEXTURE_2D);
// GL.glEnable(GL.GL_TEXTURE_3D);
Run Code Online (Sandbox Code Playgroud)

结果我得到以下图像(2D纹理停止工作):

没有

有没有办法让2D和3D纹理协同工作?我需要通过FBO将3D纹理渲染成2D纹理.有没有办法做到这一点?

完整的源代码

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Threading; …
Run Code Online (Sandbox Code Playgroud)

opengl monobjc opentk

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

C++变量声明被视为函数声明

这个问题是相当理论化的,尽管有趣的是,MS VS2010会main像处理函数声明一样处理以下变量声明(内部):

typedef std::shared_ptr<asymm::PrivateKey> PrivateKeyPtr;

...
void main()
{
    ...
    maidsafe::dht::PrivateKeyPtr pk(); // I'm trying to init variable here, though it thinks it's function declaration

    kNode->node()->Store(key, value, "", ttl, pk, std::bind(&StoreCallback, args::_1, key, ttl));
}
Run Code Online (Sandbox Code Playgroud)

它抛出以下异常:

Error   5   error C2664: 'maidsafe::dht::Node::Store' : cannot convert parameter 5 from 'maidsafe::dht::PrivateKeyPtr (__cdecl *)(void)' to 'maidsafe::dht::PrivateKeyPtr'  C:\Projects\MaidSafe-DHT\src\maidsafe\dht\demo\demo_main.cc 286 1   KademliaDemo
Run Code Online (Sandbox Code Playgroud)

虽然以下几行像魅力一样:

maidsafe::dht::PrivateKeyPtr pk = maidsafe::dht::PrivateKeyPtr();

kNode->node()->Store(key, value, "", ttl, pk, std::bind(&StoreCallback, args::_1, key, ttl));
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++

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

等待PostAsync在mscorlib中抛出NullReferenceException

我需要从一个Mvc4应用程序发送文件到另一个(另一个是Mvc4,WebApi应用程序).为了发送我使用HttpClient的PostAsync方法.以下是执行发送的代码:

public class HomeController : Controller
{
    public async Task<ActionResult> Index()
    {
        var result =
            await Upload("http://localhost/target/api/test/post", "Test", System.IO.File.Open(@"C:\SomeFile", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite));

        return View(result);
    }

    public async Task<String> Upload(String url, string filename, Stream stream)
    {
        using (var client = new HttpClient())
        {
            var formData = new MultipartFormDataContent();

            var fileContent = new StreamContent(stream);

            var header = new ContentDispositionHeaderValue("attachment") { FileName = filename };

            fileContent.Headers.ContentDisposition = header;

            formData.Add(fileContent);

            var result = await client.PostAsync(url, formData); // Use your url here

            return "123";
        } …
Run Code Online (Sandbox Code Playgroud)

.net async-await asp.net-mvc-4 asp.net-web-api dotnet-httpclient

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

基于循环的范围,带有指向C++ 11中向量的指针

请考虑以下示例:

vector<vector<char>*> *outer = new vector<vector<char>*>();
{
    vector<char> *inner = new vector<char>();

    inner->push_back(0);
    inner->push_back(1);
    inner->push_back(2);

    outer->push_back(inner);

    inner->push_back(3);
}

auto x = outer->at(0);

for (auto c : x) {
    cout << c << ",";
}
Run Code Online (Sandbox Code Playgroud)

我想迭代一下这些值vector<char>*; 我怎么能做到这一点?

c++ vector c++11

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

调用chart.draw()后,Google图表失去缩放

我的Google折线图有问题,我的系统以交互方式提供数据,我需要在更改时以交互方式更新Google图表。为了做到这一点,我chart.draw(...)在每次数据上传期间都打电话给我。不幸的是,进行这样的调用会重置组件的视觉状态。

考虑以下jsfiddle http://jsfiddle.net/1besonf5/83/

如果缩放组件,它将在一秒钟内重置。由于

setInterval(() => chart.draw(data, chartOptions), 3000);
Run Code Online (Sandbox Code Playgroud)

您如何处理这个问题?

javascript charts google-visualization

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

IPv6观点

我正在研究p2p应用程序,所有这些NAT-PMP和UPNP NAT遍历场景都是如此令人不愉快.关于什么时候IPv6将被普遍使用的任何想法?

p2p nat ipv6

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

不需要互斥,竞争条件并不总是坏的,是吗?

我有一个疯狂的想法,在我们大多数人通常想要并使用互斥同步的某些情况下,可以省略互斥同步.

好吧,假设你有这种情况:

Buffer *buffer = new Buffer(); // Initialized by main thread;

...

// The call to buffer's `accumulateSomeData` method is thread-safe
// and is heavily executed by many workers from different threads simultaneously.
buffer->accumulateSomeData(data); // While the code inside is equivalent to vector->push_back()

...

// All lines of code below are executed by a totally separate timer
// thread that executes once per second until the program is finished.

auto bufferPrev = buffer; // A temporary pointer to previous …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading mutex

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