问题列表 - 第24180页

MySQLi编写了语句错误报告

我正试图绕过MySQli,我对错误报告感到困惑.我使用MySQLi'prepare'语句的返回值来检测执行SQL时的错误,如下所示:

$stmt_test =  $mysqliDatabaseConnection->stmt_init();
if($stmt_test->prepare("INSERT INTO testtable VALUES (23,44,56)"))
{
 $stmt_test->execute();
 $stmt_test->close();
}
else echo("Statement failed: ". $stmt_test->error . "<br>");
Run Code Online (Sandbox Code Playgroud)

但是,prepare语句的返回值是仅检测SQL语句的预处理中是否存在错误而未检测到执行错误?如果是这样,我应该更改我的执行行以标记错误,如下所示:

if($stmt_test->execute()) $errorflag=true;
Run Code Online (Sandbox Code Playgroud)

然后只是为了安全我应该在语句执行后执行以下操作:

if($stmt_test->errno) {$errorflag=true;}
Run Code Online (Sandbox Code Playgroud)

...或者我可以开始使用MySQLi prepare'语句的返回值捕获与它定义的查询的完整执行相关的所有错误?

谢谢C.

php mysql mysqli prepared-statement

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

如何让netcat接受局域网外的连接?

我正在使用netcat作为后端来为我正在制作的程序来回挖掘数据.我在本地网络上测试了我的程序,一旦它工作,我认为只需从我的路由器转发一个端口让我的程序通过互联网工作.唉! 事实似乎并非如此.

如果我启动netcat监听端口6666:

nc -vv -l -p 6666,

然后转到127.0.0.1:6666浏览器,正如预期的那样,我看到HTTP GET请求来自netcat(而我的浏览器等待是徒劳的).my.external.ip.address:6666但是,如果我去,则根本没有任何内容,浏览器显示"无法连接到my.external.ip.address:6666".

我知道端口被正确转发,因为www.canyouseeme.org说端口6666是打开的(当netcat没有监听时,它已关闭).

如果我运行netcat -g my.adslmodem's.local.address来设置网关地址,我会得到相同的行为.我正确使用此命令行选项吗?对于我做错了什么的任何见解?

gateway portforwarding netcat

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

覆盖还是超载?

伙计们,我知道这个问题很愚蠢但只是为了确保:
在我的班级方法中:

boolean equals(Document d)
{
//do something
}
Run Code Online (Sandbox Code Playgroud)

我正在超载这种方法,也没有超越对吗?我知道这个或类似的问题将出现在即将发布的egzam上,如果没有得到这样一个简单错误的分数,那将是愚蠢的.

java

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

Android上的Eclipse调试有什么问题?

可能重复:
Android看似无用的调试环境

我显然被Visual Studio宠坏了,因为虽然我只是在学习Android和Eclipse环境,但在Eclipse中调试应用程序正在成为进一步开发的严重损害.

例如,Eclipse会将这个除以零编译得很好:

public class Lesson2Main extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate (savedInstanceState);

        int i = 1 / 0;

        TextView tv = new TextView (this);
        tv.setText ("Hello, Android!");
        setContentView (tv);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,当它在调试器下执行时,我将获得一个无用的调试信息的全屏,其中没有实际指向包含错误的特定行.

stackTrace在异常('e')信息树中为空,它只是声明一条消息,指出'ArithmeticException'.(那很好,你怎么指向我找到它的方向!?)

我看了整个屏幕,我很困惑,这个IDE无法做到这一点.使用Eclipse进行开发是否会让所有人回到1991年,而printf()就像每个时间间隔记录一样,然后追踪错误?认真.

是否有我缺少的配置或插件来帮助解决这个问题?

我没有用XCode测试过这种情况,但是如果iPhone开发了.IDE处理这个更像Visual Studio,然后难怪Android市场有这么少的应用程序.

我对Android很兴奋,但似乎Eclipse正在阻碍它.

eclipse debugging android

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

Ruby方法Array#<<不用哈希更新数组

灵感来自我如何用数组编组哈希?我想知道Array#<<在以下代码中无法正常工作的原因是什么:

h = Hash.new{Array.new}
#=> {}
h[0]
#=> []
h[0] << 'a'
#=> ["a"]
h[0]
#=> [] # why?!
h[0] += ['a']
#=> ["a"]
h[0]
#=> ["a"] # as expected
Run Code Online (Sandbox Code Playgroud)

它是否与<<在就地更改数组的事实有关,同时Array#+创建了一个新实例?

ruby arrays hash

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

Pylint只有全球评估

在pylint中,我使用此命令--reports=n禁用报告,但现在我没有看到更多的全局评估.

是否可以仅启用全局评估?

python pylint

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

如何创建一个通用的C自由函数

我有一些与'list'数据结构相关的C结构.它们看起来像这样.

struct nmlist_element_s {
    void *data;
    struct nmlist_element_s *next;
};
typedef struct nmlist_element_s nmlist_element;

struct nmlist_s {
    void (*destructor)(void *data);
    int (*cmp)(const void *e1, const void *e2);
    unsigned int size;
    nmlist_element *head;
    nmlist_element *tail;
};
typedef struct nmlist_s nmlist;
Run Code Online (Sandbox Code Playgroud)

这样我就可以在"nmlist_element-> data"中保存不同的数据类型."构造函数"(以OOP表示)具有以下签名:

nmlist *nmlist_alloc(void (*destructor)(void *data));
Run Code Online (Sandbox Code Playgroud)

其中"析构函数"是取消分配"数据"的特定函数(由nmlist_element保存).

如果我想要一个包含整数作为数据的列表,我的"析构函数"会这样:

void int_destructor(void *data)
{
    free((int*)data);
}
Run Code Online (Sandbox Code Playgroud)

我仍然觉得为每个简单的原始数据类型编写析构函数对我来说是"不友好的".那么写一些这样的东西有诀窍吗?(对于原语):

void "x"_destructor(void *data, "x")
{
    free(("x" *)data);
}
Run Code Online (Sandbox Code Playgroud)

PS:我自己并不是一个宏观迷,在我对C的短暂体验中,除非必要,否则我不会使用它们.

c generics

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

如何在Tomcat 6中使用JTA支持Hibernate?

他们建议在Java EE环境中使用JTA事务支持.

但是如何在Tomcat6中配置JTA以便Hibernate Session可以使用它呢?

从版本3.0.1开始,Hibernate添加了该SessionFactory.getCurrentSession()方法.最初,这假定使用JTA事务,其中JTA事务定义了当前会话的范围和上下文.鉴于众多独立JTA TransactionManager实现的成熟度,大多数(如果不是全部)应用程序应该使用JTA事务管理,无论它们是否部署到J2EE容器中.基于此,您需要使用基于JTA的上下文会话.

(Hibernate参考文档|架构.上下文会话)

java orm tomcat hibernate jta

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

如何处理C#控制台应用程序终止?

如果我有一个控制台应用程序,有什么办法可以处理以下内容:

  1. Ctrl-C(我知道答案.使用Console.TreatControlCAsInput和Console.CancelKeyPress)
  2. 会话终止,例如有人注销时
  3. 进程退出,例如当有人使用任务管理器关闭应用程序时.

我知道如果我正在编写一个unix应用程序,我会处理各种信号以捕获关闭请求(来自内存的SIGTERM),但我也知道我需要很快处理这些消息并在系统执行kill -9之前退出(SIGKILL).

但对于C#控制台应用程序,我不知道如何做到这一点.

c# console

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

在sql查询中使用.net Datetime

我有一个DateTime对象,我想与where子句中的sql datetime字段进行比较.我目前正在使用:

"where (convert( dateTime, '" & datetimeVariable.ToString & "',103) <= DatetimeField)"
Run Code Online (Sandbox Code Playgroud)

但我相信datetimeVariable.ToString将返回一个不同的值,具体取决于系统运行的文化.

你会如何处理这一点,因此它与文化无关?

编辑:我不会在这段代码中使用paramatised sql ...

编辑:按照Parmesan对其中一个答案的评论看起来最好的方法可能是:

"where (convert( dateTime, '" & datetimeVariable.ToString( "s" ) & "',126) <= DatetimeField)"
Run Code Online (Sandbox Code Playgroud)

.net c# sql vb.net datetime

4
推荐指数
3
解决办法
4874
查看次数