程序开发
分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]
用perl 连接access,用了ODBC数据源
1.在Win32下安装ActivePerl 然后在PPM下安装DBI和DBD::ODBC
2.创建一个access数据库
3.创建ODBC数据源
   3.1控制面板-->管理工具-->数据源(ODBC)
   3.2选"系统DSN"-->添加
   3.3选择"Driver do Microsoft Access (*.mdb)"
   3.4然后有个对话框,填入数据源名,点确定
4试着运行以下代码:

#!/usr/bin/perl


use warnings;
use strict;
use DBI;
use DBD::ODBC;


$username = "";

$pwd = "";
my $dbh = DBI->connect("DBI:ODBC:Employee", $username, $pwd) or
    die("Couldn't make connection to database:$DBI::errstr");
#注意:这里的Employee是你刚才填数据源时填入的名字

my $sth = $dbh->prepare(q{Select * FROM employee}) or
    die("Cannot prepare statement:", $dbh->errstr(),"\n");
    
my $rc = $sth->execute() or
    die("Cannot execute statement:", $sth->errstr(), "\n");

my @array;

while (@array = $sth->fetchrow_array()) {
    write();
}

warn($DBI::errstr) if $DBI::err;
$dbh->disconnect();
$sth->finish();

format STDOUT =
@<<<<<<@<<<<<<<<<@<<<<<<<<<<@<<<<<@<<<<<<<<<@<<<<<<<<<<<<<<
$array[0],$array[1],$array[2],$array[3],$array[4], $array[5]



Tags: ,
by 光光 | 来自 本站原创 | 不指定 2007/11/07 09:36 | 程序开发 | 评论(0) | 引用(0) | 阅读(423)
TEA(Tiny Encryption Algorithm) 是一种优秀的数据加密算法,虽然它比 DES(Data Encryption Standard) 要简单得多, 但有很强的抗差分分析能力,加密速度也比 DES 快得多,而且对 64 位数据加密的密钥长达 128 位,安全性相当好。
C#实例见附件
附C/C++代码如下:

void encipher( unsigned long * const v, const unsigned long * const k )
{
    register unsigned long y = v[0], z = v[1], sum = 0, delta = 0x9E3779B9,
        a = k[0], b = k[1], c = k[2], d = k[3], n = 32;
    while ( n-- > 0 )
    {
        sum += delta;
        y += ( z << 4 ) + a ^ z + sum ^ ( z >> 5 ) + b;
        z += ( y << 4 ) + c ^ y + sum ^ ( y >> 5 ) + d;
    }
    v[0] = y;
    v[1] = z;
}
void decipher( unsigned long * const v, const unsigned long * const k )
{
    register unsigned long y = v[0], z = v[1], sum = 0xC6EF3720, delta = 0x9E3779B9,
        a = k[0], b = k[1], c = k[2], d = k[3], n = 32;
    // sum = delta << 5, in general sum = delta * n
    while ( n-- > 0 )
    {
        z -= ( y << 4 ) + c ^ y + sum ^ ( y >> 5 ) + d;
        y -= ( z << 4 ) + a ^ z + sum ^ ( z >> 5 ) + b;
        sum -= delta;
    }
    v[0] = y;
    v[1] = z;
}

Tags:
by 光光 | 来自 本站原创 | 不指定 2007/04/05 22:38 | 程序开发 | 评论(0) | 引用(0) | 阅读(344)
今天测试一个VC7编写的dll文件,本机测试通过,放到别的相同的操作系统的电脑上时出现没有找到MFC71.dll,因此这个程序未能启动的错误提示。查找原因发现我的开发电脑系统目录下有这个文件,另外一台没有这个文件,又不想将这个文件复制到另外电脑上,所以采用了在项目属性那里将"MFC的使用"的值由"在共享DLL中使用MFC"改为"在静态库中使用MFC",问题解决,不过测试的dll文件也由21k变成了160k smoke
by 光光 | 来自 本站原创 | 不指定 2007/04/03 13:28 | 程序开发 | 评论(0) | 引用(0) | 阅读(877)
今天用C#程序调用VC编译的dll文件,出现错误"无法加载DLL(XXX.DLL)",后来发现我的C#程序是用Visual Studio .net 2003开发的,那个dll是用.net 2005开发的。将dll的代码在.net 2003中编译后顺利通过加载。pig
Tags:
by 光光 | 来自 本站原创 | 不指定 2007/04/01 23:24 | 程序开发 | 评论(0) | 引用(0) | 阅读(468)
很好用的,一直在用它

//默认密钥向量
  private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
  /// <summary>
  /// DES加密字符串
  /// </summary>
  /// <param name="encryptString">待加密的字符串</param>
  /// <param name="encryptKey">加密密钥,要求为8位</param>
  /// <returns>加密成功返回加密后的字符串,失败返回源串</returns>
  public static string EncryptDES(string encryptString, string encryptKey)
  {
   try
   {
    byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
    byte[] rgbIV = Keys;
    byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
    DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
    MemoryStream mStream = new MemoryStream();
    CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
    cStream.Write(inputByteArray, 0, inputByteArray.Length);
    cStream.FlushFinalBlock();
    return Convert.ToBase64String(mStream.ToArray());
   }
   catch
   {
    return encryptString;
  
   }
  }
  /// <summary>
  /// DES解密字符串
  /// </summary>
  /// <param name="decryptString">待解密的字符串</param>
  /// <param name="decryptKey">解密密钥,要求为8位,和加密密钥相同</param>
  /// <returns>解密成功返回解密后的字符串,失败返源串</returns>
  public static string DecryptDES(string decryptString, string decryptKey)
  {

   try
   {
    byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey);
    byte[] rgbIV = Keys;
    byte[] inputByteArray = Convert.FromBase64String(decryptString);
    DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();
    MemoryStream mStream = new MemoryStream();
    CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
    cStream.Write(inputByteArray, 0, inputByteArray.Length);
    cStream.FlushFinalBlock();
    return Encoding.UTF8.GetString(mStream.ToArray());
   }
   catch(Exception exp)
   {
    return decryptString;
    MessageBox.Show(exp.Message);

   }
  }


Tags: ,
by 光光 | 来自 本站原创 | 不指定 2006/12/21 20:04 | 程序开发 | 评论(0) | 引用(0) | 阅读(387)
分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]