今天上午做表格数据的检查与修改,涉及到PHP对MS SQL Server数据表的查询、统计与修改。
平时我也不记编码和命令,到了用的时候都再查手册,这往往很耗费时间,现在写博客有个好处就是把有用的代码记录下来,下次就直接复制,修改一下就直接用了。
这样可以省去很多时间。
下面是检索三个表来更新数据,即主表有信息不全,检索两个其他的信息表进行补录。
<?php
require 'pspLinkConfig.php';//加载数据库
$sql = "select C24 from cwkA2012 where C18=1";
$res1 = $EisConn->prepare($sql);//准备查询语句
$res1->execute();//执行
$count=0;
while( $result=$res1->fetch(PDO::FETCH_ASSOC) ){
$count=$count+1;
$ZCBM=$result['C24'];//资产编码
//获取资产状态
$sql = "select C20 from AssetsA2012 where C02='$ZCBM'";
$res2 = $EisConn->query($sql);
$rows2=$res2->fetchAll(PDO::FETCH_ASSOC);
if($rows2){
$ZCZT=$rows2[0]['C20'];//获取资产状态
}else{
$ZCZT='正常★';//获取资产状态
}
//判断是否有保管信息
$sql = "select count(*) from InUser2012 where C01='$ZCBM'";
$result3 =$EisConn->query($sql);
$rows3 = $result3->fetch();
$rowCount = $rows3[0];
if ( $rowCount ) {
//获取保管人、保管单位、保管地点
$sql = "select C03,C04,C06 from InUser2012 where C01='$ZCBM'";
$res4 = $EisConn->query($sql);
$rows=$res4->fetchAll(PDO::FETCH_ASSOC);
$BGR=$rows[0]['C03'];//获取保管人
$BGDW=$rows[0]['C04'];//获取保管单位
$BGDD=$rows[0]['C06'];//获取保管地点
//更新财务资产表
$ZCBM=trim($ZCBM);
$Set=" C25='$BGR',C26='$BGDD',C27='$ZCZT' ";
$sql = "UPDATE cwkA2012 SET $Set WHERE C24='$ZCBM' and C18=1";
$result = $EisConn->exec($sql);
try {
if ( $result>0 ) {
echo $ZCBM.'===OK'.'<br>';
}else{
echo '资产编号:'.$ZCBM.' 更新记录失败!'.'<br>';
}
}catch (PDOException $e){
echo '错误信息:'.$e.getMessage();
}
}
}
echo '完成!';
?>
检索两个表进行数据检查与修改:
<?php
require 'DawnEisLinkConfig.php';//加载数据库
$sql = "select C24,C23,C25,C26 from cwkAssets where C18=1";
$res1 = $EisConn->prepare($sql);//准备查询语句
$res1->execute();//执行
$count=0;
while( $result=$res1->fetch(PDO::FETCH_ASSOC) ){
$count=$count+1;
$ZCBM=$result['C24'];//资产编码
$newUNit=$result['C24'];//新单位名称
$BGR=$result['C25'];//保管人
$BGDD=$result['C26'];//保管地点
//获取资产状态
$sql = "select C20 from computerAssetsInfo where C02='$ZCBM'";
$res2 = $EisConn->query($sql);
$rows2=$res2->fetchAll(PDO::FETCH_ASSOC);
if($rows2){
$ZCZT=$rows2[0]['C20'];//获取资产状态
}else{
$ZCZT='正常★';//获取资产状态
}
if($BGR=='' || $BGR==null || $BGR=="不详" ){
$BGR="公用";
}
//判断是否有保管信息
$sql = "select count(*) from computerInUserInfo where C01='$ZCBM'";
$result3 =$EisConn->query($sql);
$rows3 = $result3->fetch();
$rowCount = $rows3[0];
//更新财务资产表
$Set=" C25='$BGR',C27='$ZCZT' ";
$sql = "UPDATE cwkAssets SET $Set WHERE C24='$ZCBM' and C18=1";
$result = $EisConn->exec($sql);
try {
if ( $result>0 ) {
echo $ZCBM.' OK'.'<br>';
}else{
echo '资产编号:'.$ZCBM.' 更新记录失败!'.'<br>';
}
}catch (PDOException $e){
echo '错误信息:'.$e.getMessage();
}
}
echo '完成!';
?>
获取不同的值。
<?php
require 'LinkConfig.php';//加载数据库
$sql = "select distinct C04 from AssetsInfo where C26='计算机'";
$res = $EisConn->prepare($sql);//准备查询语句
$res->execute();//执行
while( $result=$res->fetch(PDO::FETCH_ASSOC) ){
echo $result['C04'].'<br>';
}
?>
获取一个值:
//判断是否有保管信息
$sql = "select count(*) from computerInUserInfo where C01='$ZCBM'";
$result3 =$EisConn->query($sql);
$rows3 = $result3->fetch();
$rowCount = $rows3[0];
if ( $rowCount ) {
//获取保管人、保管单位、保管地点
//......
}
真正开始学习PHP也三个多月了,对于PHP的脚本和命令还是不熟,也记不住,都是现拿现用,这样也方便了以后的使用。
|