小编deR*_*_Ed的帖子

Perl DBI(MySQL)在预准备语句中使用单引号而不是实际参数

我正在尝试做一个简单的查询作为准备好的声明,但没有成功.这是代码:

package sqltest;
use DBI;

DBI->trace(2);

my $dbh = DBI->connect('dbi:mysql:database=test;host=***;port=3306','the_username', '****');
my $prep = 'SELECT me.id, me.session_data, me.expires FROM sys_session me WHERE me.id = ?';
$dbh->{RaiseError} = 1;
my $sth = $dbh->prepare($prep);
$sth->bind_param(1, 'session:06b6d2138df949524092eefc066ee5ab3598bf96');
$sth->execute;
DBI::dump_results($sth);
Run Code Online (Sandbox Code Playgroud)

MySQL服务器响应语法错误near '''.

DBI跟踪的输出显示

  -> bind_param for DBD::mysql::st (DBI::st=HASH(0x21e35cc)~0x21e34f4 1 'session:06b6d2138df949524092eefc066ee5ab3598bf96') thr#3ccdb4
 Called: dbd_bind_ph
  <- bind_param= ( 1 ) [1 items] at perl_test_dbi_params.pl line 10
[...]
>parse_params statement SELECT me.id, me.session_data, me.expires FROM sys_session me WHERE me.id = ?
Binding parameters: SELECT me.id, …
Run Code Online (Sandbox Code Playgroud)

mysql perl prepared-statement dbi

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

带有非托管DLL的C#应用​​程序冻结了整个系统

我目前正在Visual Studio 2012中编写一个用于与RFID卡通信的软件.我有一个用Delphi编写的DLL来处理与读卡器的通信.

问题是:我的软件在安装了VS2012的机器上运行良好.在其他系统上,它会冻结自身或整个系统.我在Win XP/7/8上尝试了x32和x64配置.我正在使用.NET 4.0.

在连接到阅读器之后,软件启动backgroundWorker,该阅读器以读取器RF场中的库存卡的命令轮询(以200ms的速率)阅读器.崩溃通常发生在ca. 读卡器连接后10到20秒.这是代码:

[DllImport("tempConnect.dll", CallingConvention = CallingConvention.StdCall)]
 private static extern int inventory(int maxlen, [In] ref int count, 
                                         IntPtr UIDs, UInt32 HFOffTime);
Run Code Online (Sandbox Code Playgroud)
public String getCardID()
    {
        if (isConnectet())
        {
            IntPtr UIDs = IntPtr.Zero;
            int len = 2 * 8;
            Byte[] zero = new Byte[len];
            UIDs = Marshal.AllocHGlobal(len);
            Thread.Sleep(50);
            Marshal.Copy(zero, 0, UIDs, len);
            int count = 0;
            int erg;
            String ret;
            try
            {
                erg = inventory(len, ref count, UIDs, 50);
            }
            catch (ExternalException) // this doesn't catch …
Run Code Online (Sandbox Code Playgroud)

c# delphi dll unmanaged freeze

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

标签 统计

c# ×1

dbi ×1

delphi ×1

dll ×1

freeze ×1

mysql ×1

perl ×1

prepared-statement ×1

unmanaged ×1