高分求php中对表的锁定的函数,能解决的再加300 既然是MSSQL了,那为何不用事务处理呢?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对,楼上的说得对,你用mssql中的事务处理实现上述要求。 begin transactionselect * from mytable (tablelock holdlock)yourstatementcommit transaction 因为,用的不是odbc而且这个过程中需要把值取出来。代码如下(用的是php_lib)function f_get_id($bm){//input bm:ID标识,len要求的长度//output 返回000001这样的序列号 global $sys_user,$sys_password,$sys_database,$sys_host; $conn=new DB_Sql(); $conn->Host=$sys_host; $conn->User=$sys_user; $conn->Password=$sys_password; $conn->Database=$sys_database; $conn->connect(); //craticle section //get length $query="select bm_len from id_set where bm='$bm'"; $conn->query($query); $conn->next_record(); $len=$conn->f(bm_len); //increase the record $query="update id_set set bm_val=bm_val+1 where bm='$bm'"; $conn->query($query); $m_zero=''; $query="select bm_val as max_num from id_set where bm='$bm'"; $conn->query($query); $conn->next_record(); for ($i=0;$i<$len-strlen($conn->f(max_num));$i++) { $m_zero.='0'; } //end section return $m_zero.$conn->f(max_num);} 如果是用odbc的话就好办了。直接在critcle section 前面加排它锁。在end section后面解锁。关键是不是用的那个东西。而且用自动真家的字段在我们的系统里面是不允许的。(考虑的系统的移植性)所以请提供类市与asp中odbc加锁解锁的代码。 请问require和include包含的文件过多,会影响到运行速度吗? AJAX 问题 为什么那多么大型的网站都用php? PHP的问题 新手求助:关于PHP提交表单的问题~多谢各位大侠指教~(解决立刻给分!!!绝不拖延时间) 使用新浪微博开放平台api同步网站内容至自己微博的问题 求一正则表达式获取URL中类似下面字符串的内容! session问题 分页显示数据库内容问题 关于session的问题,高手们帮帮我!!谢谢 php4.0.34+apache2.0.43+win2000professor的配置? 要传递参数,怎样写
select * from mytable (tablelock holdlock)
yourstatement
commit transaction
function f_get_id($bm)
{
//input bm:ID标识,len要求的长度
//output 返回000001这样的序列号
global $sys_user,$sys_password,$sys_database,$sys_host;
$conn=new DB_Sql();
$conn->Host=$sys_host;
$conn->User=$sys_user;
$conn->Password=$sys_password;
$conn->Database=$sys_database;
$conn->connect();
//craticle section
//get length
$query="select bm_len from id_set where bm='$bm'";
$conn->query($query);
$conn->next_record();
$len=$conn->f(bm_len);
//increase the record
$query="update id_set set bm_val=bm_val+1 where bm='$bm'";
$conn->query($query);
$m_zero='';
$query="select bm_val as max_num from id_set where bm='$bm'";
$conn->query($query);
$conn->next_record();
for ($i=0;$i<$len-strlen($conn->f(max_num));$i++)
{
$m_zero.='0';
}
//end section
return $m_zero.$conn->f(max_num);
}
关键是不是用的那个东西。而且用自动真家的字段在我们的系统里面是不允许的。(考虑的系统的移植性)所以请提供类市与asp中odbc加锁解锁的代码。