小编Mic*_*ers的帖子

Java语句对象重用?

我想知道我们是否可以重用相同的Statement对象来执行多个查询.或者,我们应该为不同的查询创建一个新的语句.

例如,

Connection con = getDBConnection();
Statement st1 = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
int i = st1.executeUpdate("update tbl_domu set domU_status=1 where domU_id=" + dom_U_id);
Statement st2 = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
int j = st2.executeUpdate("insert into tbl_domU_action_history values('" + dom_U_name + "', 1, '" + date + "')");  
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,对于executeUpdate()查询使用相同的语句st1是否有任何损害?我可以为另一个executeQuery()使用相同的Statement对象st1吗?

java jdbc

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

删除char数组

这个问题关系到这一个.鉴于此代码:

char *p = new char[200];
delete[] p;
Run Code Online (Sandbox Code Playgroud)

如果你p[100] = '\0'在删除p之前设置会发生什么?

我有一些代码,当我试图删除一个非空终止的char数组时,我收到了一个调试错误,这是关于删除未分配的堆内存.它似乎从数组的边界中删除了内存.

c++ memory-management

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

Tomcat无法启动(抛出java.net.BindException :)

我已经完成了以下设置来运行Java Web项目但不知何故我的Tomcat不是从Eclipse开始的:

JAVA_HOME : C:\Program Files\Java\jdk1.6.0_03  
PATH : C:\Program Files\Java\jdk1.6.0_03\bin  
CATALINA_HOME : D:\javaworkspaces\apache-tomcat-7.0.27  
Run Code Online (Sandbox Code Playgroud)

然后根据需要,我从Eclipse设置一个新服务器并提供Tomcat安装路径.

正如在某些论坛中所建议的那样,我已添加tomcat-juli.jar到类路径中.
尽管如此,当我尝试启动Tomcat服务器时,我得到的错误是tomcat在45秒内没有凝视.

我收到以下日志消息:

Jul 26, 2012 5:49:34 PM org.apache.catalina.core.AprLifecycleListener init  
INFO: The APR based Apache Tomcat Native library which allows optimal performance in     production environments was not found on the java.library.path: C:\Program Files\Java\jre6\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Java\jdk1.6.0_03\bin;D:\eclipse-jee-indigo-SR2-win32\eclipse;;.  
Jul 26, 2012 5:49:34 PM org.apache.tomcat.util.digester.SetPropertiesRule   
 begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property         'source' to 'org.eclipse.jst.j2ee.server:JEE_Day01' did not find a matching property.  
Jul 26, 2012 5:49:34 PM org.apache.coyote.AbstractProtocol …
Run Code Online (Sandbox Code Playgroud)

java tomcat servlets web

23
推荐指数
4
解决办法
8万
查看次数

如何在不调用复制构造函数的情况下使用类初始化STL向量/列表

我有一个C++程序,它使用包含类实例的std :: list.如果我调用eg myList.push_back(MyClass(variable));它会经历创建临时变量的过程,然后立即将其复制到向量,然后删除临时变量.这并不像我想要的那么高效,当你需要深层复制时很糟糕.

我希望让我的类的构造函数new有所改进而不必实现复制构造函数只是为了第二次分配我的内存而浪费运行时.我也不必立即从向量/列表中找到类实例,然后手动分配内存(或做一些可怕的事情,比如在复制构造函数本身中分配内存).

有什么方法(我不使用Visual Studio BTW)?

c++ stl list vector

22
推荐指数
3
解决办法
4732
查看次数

c99转到过去的初始化

在调试崩溃时,我在一些代码中遇到了这个问题:

int func()
{
    char *p1 = malloc(...);
    if (p1 == NULL)
        goto err_exit;

    char *p2 = malloc(...);
    if (p2 == NULL)
        goto err_exit;

    ...

err_exit:
    free(p2);
    free(p1);

    return -1;
}
Run Code Online (Sandbox Code Playgroud)

第一个malloc失败时会出现问题.因为我们跳过初始化p2,它包含随机数据和调用可能free(p2)会崩溃.

我希望/希望这将与C++中的方式相同,其中编译器不允许goto跳过初始化.

我的问题:是跳过标准允许的初始化还是这是gcc实现c99的错误?

c gcc goto c99

22
推荐指数
3
解决办法
3241
查看次数

ASP.NET MVC3在调用Controller.PartialView时添加HtmlFieldPrefix

我将部分视图呈现为Ajax请求的一部分.

当我从视图中调用局部视图时:

int i=0;
foreach(var rule in Model.Rules) {
    @Html.Partial("ValidationRuleRow", rule, new ViewDataDictionary { 
        TemplateInfo = new System.Web.Mvc.TemplateInfo { HtmlFieldPrefix = string.Format("Rules[{0}]", i) } })   
    i++;
}
Run Code Online (Sandbox Code Playgroud)

我能够设置HtmlFieldPrefix以允许正确的模型绑定.

我希望用户能够通过ajax动态添加新的ValidationRuleRow,如:

$.ajax({
    type: "GET",
    url: "/Monitors/NewMonitorValidationRule",
    success: function (data, textStatus, jqXHR) {
        var element = $(data);
        $("#ValidationRuleContainer").append(element);
    }
});
Run Code Online (Sandbox Code Playgroud)

所以我在我的控制器中有一个动作来获取HTML:

public ActionResult NewMonitorValidationRule()
{
    ValidationRule rule = new ValidationRule{Id = TempSurrogateKey.Next};
    var view = PartialView("ValidationRuleRow", rule);
    // CODE TO SET PartialView field prefix
    return view;
}
Run Code Online (Sandbox Code Playgroud)

返回的HTML没有前缀.无论如何在从Controller中的Action调用PartialView时设置前缀?

asp.net-mvc-3

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

在C中写入Bootloader

我是编写引导加载程序的新手.我在asm中编写了一个helloworld引导程序,我现在正在尝试用C语言编写一个.我在C中编写了一个helloworld引导程序,但我无法编译它.

这是我的代码.我究竟做错了什么?我完全采取了错误的做法吗?

void print_char();
int main(void){
char *MSG = "Hello World!";
int i;

__asm__(
    "mov %0, %%SI;"
    :
    :"g"(MSG)
);
for(i=0;i<12;i++){
    __asm__(
        "mov %0, %%AL;"
        :
        :"g"(MSG[i])
    );
    print_char();
}

return 0;
}

void print_char(){
__asm__(
    "mov $0X0E, %AH;"
    "mov $0x00, %BH;"
    "mov $0x04, %BL;"
    "int $0x10"
);
}
Run Code Online (Sandbox Code Playgroud)

c linux assembly gcc bootloader

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

如何以编程方式将按钮逐行添加到几行中?

如何在几行中逐个创建按钮列表?我做的:

LinearLayout layout = (LinearLayout) findViewById(R.id.linear_layout_tags);
    for (int i = 1; i < 10; i++) {
        Button btnTag = new Button(this);
        btnTag.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        btnTag.setText("Button " + i);
        btnTag.setId(i);
        layout.addView(btnTag);
        ((Button) findViewById(i)).setOnClickListener(this);
    }
Run Code Online (Sandbox Code Playgroud)

并且只有一行:

我懂了
如何以编程方式进入下一行?

android button

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

AttributeError:模块'PIL.Image'没有属性'register_extensions'

我在google-colab上运行了fast.ai的lesson1.当我来到这条线

img = plt.imread(f'{PATH}valid/cats/{files[0]}')

plt.imshow(img);
Run Code Online (Sandbox Code Playgroud)

它没有显示图像.相反,我得到一个错误:

AttributeError: module 'PIL.Image' has no attribute 'register_extensions'

可能是什么导致了这个?

python deep-learning google-colaboratory

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

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