小编edi*_*ode的帖子

如何使用PHP将一个SQL命令的返回值插入另一个表中

我有两个服务器托管两个不同的站点,两个独立的数据库.但是,有些数据需要共享 - 因此有一个CRON可以将数据从第一个站点复制到第二个站点.这两个站点曾经在同一台服务器上运行,但现在我们将它们分开,所以我试图修改PHP以便能够处理这个问题.

这是我遇到问题的代码:

$sql = "SELECT * FROM site1.events";
$events = mysql_query($sql, $site1db);  

$sql = "INSERT INTO site2.events SELECT * FROM $events";
$doIt = mysql_query($sql, $site2db);
Run Code Online (Sandbox Code Playgroud)

现在我知道它SELECT * FROM site1.events是成功的,但它不能插入第二个站点,我没有看到任何类型的错误.我之前从未编写过PHP(这是一项遗留任务),所以如果它之前已被覆盖过,那么请指出正确的方向.

请注意,site2.events在这些命令之前被截断,因此不需要进行比较.

php mysql

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

线程池:跨线程操作无效。

我在线程方面很新,但InvalidOperationException在使用以下代码时却遇到了问题。我知道它正在尝试访问,importFileGridView但这是由创建异常的 UI 线程创建的。我的问题是,我该如何解决这个问题?GetAllImports 是否可以具有返回类型?如何temp从我的 UI 线程访问?

ThreadPool.QueueUserWorkItem(new WaitCallback(GetAllImports), null);

private void GetAllImports(object x)
    {
        DataSet temp = EngineBllUtility.GetAllImportFiles(connectionString);
        if (temp != null)
            importFileGridView.DataSource = temp.Tables[0];
        else
            MessageBox.Show("There were no results. Please try a different search", "Unsuccessful", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading threadpool

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

设置Html.DropDownList()的默认值

当它回发时,我收到以下错误:

具有键'ClosingDateDay'的ViewData项的类型为'System.Int32',但必须是'IEnumerable'类型.有任何想法吗?

这是我的控制器:

CompetitionEditViewModel viewModel = new CompetitionEditViewModel
{
    ClosingDate = competition.CloseDate,
    Description = competition.Description,
    DescriptionHeading = competition.DescriptionHeading,
    ImageAssetId = competition.ImageAssetId,
    IsActive = competition.IsActive,
    MainHeading = competition.MainHeading,
    TermsAndConditions = competition.TermsAndConditions,
    UrlSlug = competition.UrlSlug
};

viewModel.ClosingDateMonthOptions = new List<SelectListItem>();
for (int i = 1; i <= 12; i++)
{
    string monthName = new DateTime(2000, i, 1).ToString("MMMM");
    ((List<SelectListItem>)viewModel.ClosingDateMonthOptions).Add(new SelectListItem { Text = monthName, Value = i.ToString() });
}

viewModel.ClosingDateDayOptions = new List<SelectListItem>();
for (int i = 1; i <= 31; i++)
{ …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc html-helper razor drop-down-menu

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

禁用移动设备上的滚动

我有一个简单的HTML页面,当我触摸div时,我们无法滚动.你可以在这里找到这个页面

如果你用桌面浏览器打开这个页面,比如firefox,如果你按下div就无法滚动.

现在我想在移动设备上使用此行为,例如Android.实际上在Android上如果打开此页面,您可以在任何情况下滚动.

对不起我的例子中的颜色;)

html css mobile

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

测试覆盖IsValid的ValidationAttribute

我在测试自定义验证属性时遇到了一些麻烦.因为方法签名就是protected当我IsValid在单元测试中调用方法时,我无法传入一个Mock<ValidationContext>对象,而是调用基类virtual bool IsValid(object value).

ValidationAttribute

protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
    var otherPropertyInfo = validationContext.ObjectType.GetProperty(this.otherPropertyName);
    var otherPropertyValue = otherPropertyInfo.GetValue(validationContext.ObjectInstance, null);

    if (value != null)
    {
        if (otherPropertyValue == null)
        {
            return new ValidationResult(FormatErrorMessage(this.ErrorMessage));
        }
    }

    return ValidationResult.Success;
}
Run Code Online (Sandbox Code Playgroud)

测试

[Test]
public void Should_BeValid_WhenPropertyIsNullAndOtherPropertyIsNull()
{
    var attribute = new OptionalIfAttribute("test");
    var result = attribute.IsValid(null);

    Assert.That(result, Is.True);
}
Run Code Online (Sandbox Code Playgroud)

如果我无法传入模拟的验证上下文,那么我该如何正确测试这个类呢?

c# asp.net-mvc unit-testing moq validationattribute

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

StructureMap在构造函数中传递null

我在使用StructureMap构造函数中存在可为空参数的服务时遇到了一些困难.即

public JustGivingService(IRestClient restClient = null)
Run Code Online (Sandbox Code Playgroud)

在我的配置中,与所有其他服务一起,我通常能够以最小的方式逃脱,所以这里的问题可能只是缺乏理解.我这样做:

container.For<IJustGivingService>().Use<JustGivingService>()
Run Code Online (Sandbox Code Playgroud)

但是,由于可以为空的参数,我会发现我需要使用它来使其工作:

RestClient restClient = null;
container.For<IJustGivingService>().Use<JustGivingService>()
    .Ctor<IRestClient>("restClient").Is(restClient);
Run Code Online (Sandbox Code Playgroud)

然而,这对我来说确实有点脏,我觉得这可能是我想要实现的解决方案,而不是标准的方法.如果有更好的方法可以做到这一点,附带的信息将非常感谢.

c# structuremap dependency-injection

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

Python mock.patch装饰器影响同一测试套件中的其他单元测试

我为main_function编写了一个单元测试,并断言它使用类的实例调用其中的函数get_things,并使用patch作为参数进行模拟:

@patch("get_something")
@patch("MyClass.__new__")
def test(self, mock_my_class_instance, mock_get_something):
    # Given
    dummy_my_class_instance = MagicMock()
    mock_my_class_instance.return_value = dummy_my_class_instance

    dummy_my_class_instance.get_things.return_value = {}

    # When
    main_function(parameter)

    # Then
    dummy_my_class_instance.get_things.assert_called_once_with(parameter["key1"], parameter["key2"])
    mock_get_something.assert_called_once_with(dummy_my_class_instance)
Run Code Online (Sandbox Code Playgroud)

这是主要功能:

def main_function(parameter):
    properties = get_properties(parameter)

    my_class_instance = MyClass()

    list_of_things = my_class_instance.get_things(properties["key-1"], properties["key-2"])
    an_object = get_something(my_class_instance)

    return other_function(list_of_things, an_object)
Run Code Online (Sandbox Code Playgroud)

它单独传递,但是当与其他修补MyClass.get_things()的测试一起运行时,它会失败.这是消息:

Unhandled exception occurred::'NoneType' object has no attribute 'client'
Run Code Online (Sandbox Code Playgroud)

似乎修补程序装饰器相互影响.

我试图在测试函数中创建模拟作为变量而不是装饰器,但问题仍然存在.我也尝试创建一个tearDown()来停止补丁,但它似乎不起作用.

在模拟类实例时,有没有办法隔离补丁或成功丢弃它们?

python patch mocking python-decorators python-unittest

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

一种方法的正负单元测试是否应进行单独测试?

比方说,我有一个方法可以检查有效的英国邮政编码.我已经为该方法编写了一个单元测试,用于测试何时传入正确的UK邮政编码,该方法返回true.

我应该创建一个单独的单元测试来测试不正确的英国邮政编码,还是在相同的单元测试中进行测试?

谢谢

unit-testing

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

@ Html.EditorFor(图片)

我试图允许用户将图像上传到我们的网站,我不太确定如何使用它.我曾尝试使用多种类型来定义图像,包括System.Drawing.ImageHttpPostedFileWrapper@Html.EditorFor始终(可以理解)将调出其属性的字段修改.

在我看来,我确实有,但@Html.EditorFor我没有,<input type="file" name="imageToUpload" />但它没有被作为一部分的我的观点Model?我对MVC很陌生,所以我希望它是微不足道的.

这是我的观点:

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>New Image</legend>

        <div class="editor-label">
            @Html.LabelFor(model => model.Description)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Description)
            @Html.ValidationMessageFor(model => model.Description)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Image)
        </div>
        <div class="editor-field">
            <input type="file" name="imageToUpload" />
        </div>

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}
Run Code Online (Sandbox Code Playgroud)

我的控制器:

    [HttpPost]
    public ActionResult CreateImage(string brand, string collection, ImageEditViewModel imageEditViewModel)
    {
        string fileName = Guid.NewGuid().ToString();
        string serverPath = Server.MapPath("~"); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc razor

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

AutoMapper MaxDepth()方法

在我的项目中,我有一对多的关系Client -> Projects.因此,在我的一个视图中,我试图显示属于该客户端的所有项目.所以我有一个IEnumerable<ProjectDetailsViewModel>代表所有客户项目.

问题是,ProjectDetailsViewModel有一个ClientDetailsViewModel,然后有一个IEnumerable<ProjectDetailsViewModel>等等等等产生相同的实体的无限循环.

这是否适合在.ForMember()上使用MaxDepth()方法?如果是这样,我在这种情况下如何使用它,如果没有,解决方案是什么?

我已经尝试了MaxDepth(1)Client,虽然这可以防止StackOverflow异常,但它不会在该客户端的视图模型中保存任何数据.

.net c# automapper

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