Visual FoxPro简称VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
Visual FoxPro原名FoxBase,是美国Fox Software公司推出的数据库产品,在DOS上运行,与xBase系列相容。FoxPro原来是FoxBase的加强版,最高版本曾出过26。之后,Fox Software被微软收购,加以发展, 使其可以在 Windows 上运行, 并且更名为 Visual FoxPro。
目前最新版为 Visual FoxPro 90,而在学校教学和教育部门考证中还依然延用经典版的 Visual FoxPro 60。但是实际中机会很少地方会用到FoxProFo,实际价值不大。
推荐你用Access 如今FoxPro已渐渐的淡出。
数据库安全性问题一直是围绕着数据库管理员的恶梦,数据库数据的丢失
以及数据库被非法用户的侵入使得数据库管理员身心疲惫不堪。本文围绕数据
库的安全性问题提出了一些安全性策略,希望对数据库管理员有所帮助,不再
夜夜恶梦。数据库安全性问题应包括两个部分:
一、数据库数据的安全
它应能确保当数据库系统DownTime时,当数据库数据存储媒体被破
坏时以及当数据库用户误 *** 作时,数据库数据信息不至于丢失。
二、数据库系统不被非法用户侵入
它应尽可能地堵住潜在的各种漏洞,防止非法用户利用它们侵入数据
库系统。
对于数据库数据的安全问题,数据库管理员可以参考有关系统双机
热备份功能以及数据库的备份和恢复的资料。
以下就数据库系统不被非法用户侵入这个问题作进一步的阐述。
组和安全性:
在 *** 作系统下建立用户组也是保证数据库安全性的一种有效方法。
Oracle程序为了安全性目的一般分为两类:一类所有的用户都可执行,
另一类只DBA可执行。在Unix环境下组设置的配置文件是/etc/group,
关于这个文件如何配置,请参阅Unix的有关手册,以下是保证安全性的
几种方法:
(1) 在安装Oracle Server前,创建数据库管理员组(DBA)而且
分配root和Oracle软件拥有者的用户ID给这个组。DBA能执
行的程序只有710权限。在安装过程中SQLDBA系统权限命令
被自动分配给DBA组。
(2) 允许一部分Unix用户有限制地访问Oracle服务器系统,增加
一个由授权用户组的Oracle组,确保给Oracle服务器实用例
程Oracle组ID,公用的可执行程序,比如SQLPlus,SQLFo
rms等,应该可被这组执行,然后该这个实用例程的权限为
710,它将允许同组的用户执行,而其他用户不能。
(3) 改那些不会影响数据库安全性的程序的权限为711。
注:在我们的系统中为了安装和调试的方便,Oracle数据库中
的两个具有DBA权限的用户Sys和System的缺省密码是manager。
为了您数据库系统的安全,我们强烈建议您该掉这两个用户的
密码,具体 *** 作如下:
在SQLDBA下键入:
alter user sys indentified by password;
alter user system indentified by password;
其中password为您为用户设置的密码。
Oracle服务器实用例程的安全性:
以下是保护Oracle服务器不被非法用户使用的几条建议:
(1) 确保$ORACLE_HOME/bin目录下的所有程序的拥有权归Oracle
软件拥有者所有;
(2) 给所有用户实用便程(sqiplus,sqiforms,exp,imp等)711权
限,使服务器上所有的用户都可访问Oracle服务器;
(3) 给所有的DBA实用例程(比如SQLDBA)700权限。Oracle服务器
和Unix组当访问本地的服务器时,您可以通过在 *** 作系统下把
Oracle服务器的角色映射到Unix的组的方式来使用Unix管理服
务器的安全性,这种方法适应于本地访问。
在Unix中指定Oracle服务器角色的格式如下:
ora_sid_role[_dla]
其中
sid 是您Oracle数据库的oracle_sid;
role 是Oracle服务器中角色的名字;
d (可选)表示这个角色是缺省值;
a (可选)表示这个角色带有WITH ADMIN选项,
您只可以把这个角色授予其他角色,不能是其他用户。
以下是在/etc/group文件中设置的例子:
ora_test_osoper_d:NONE:1:jim,narry,scott
ora_test_osdba_a:NONE:3:pat
ora_test_role1:NONE:4:bob,jane,tom,mary,jim
bin: NONE:5:root,oracle,dba
root:NONE:7:root
词组“ora_test_osoper_d”表示组的名字;词组“NONE”表示这
个组的密码;数字1表示这个组的ID;接下来的是这个组的成员。前两
行是Oracle服务器角色的例子,使用test作为sid,osoper和osdba作
为Oracle服务器角色的名字。osoper是分配给用户的缺省角色,osdba
带有WITH ADMIN选项。为了使这些数据库角色起作用,您必须shutdown
您的数据库系统,设置Oracle数据库参数文件initORACLE_SIDora中
os_roles参数为True,然后重新启动您的数据库。如果您想让这些角色
有connect internal权限,运行orapwd为这些角色设置密码。当您尝
试connect internal时,您键入的密码表示了角色所对应的权限。
SQLDBA命令的安全性:
如果您没有SQLPLUS应用程序,您也可以使用SQLDBA作SQL查权
限相关的命令只能分配给Oracle软件拥有者和DBA组的用户,因为这些
命令被授予了特殊的系统权限。
(1) startup
(2) shutdown
(3) connect internal
数据库文件的安全性:
Oracle软件的拥有者应该这些数据库文件
($ORACLE_HOME/dbs/dbf)设置这些文件的使用权限为0600:文件的
拥有者可读可写,同组的和其他组的用户没有写的权限。
Oracle软件的拥有者应该拥有包含数据库文件的目录,为了增加
安全性,建议收回同组和其他组用户对这些文件的可读权限。
网络安全性:
当处理网络安全性时,以下是额外要考虑的几个问题。
(1) 在网络上使用密码
在网上的远端用户可以通过加密或不加密方式键入密码,
当您用不加密方式键入密码时,您的密码很有可能被非法用
户截获,导致破坏了系统的安全性。
(2) 网络上的DBA权限控制
您可以通过下列两种方式对网络上的DBA权限进行控制:
A 设置成拒绝远程DBA访问;
B 通过orapwd给DBA设置特殊的密码。
建立安全性策略:
系统安全性策略
(1) 管理数据库用户
数据库用户是访问Oracle数据库信息的途径,因此,
应该很好地维护管理数据库用户的安全性。按照数据库系统
的大小和管理数据库用户所需的工作量,数据库安全性管理
者可能只是拥有create,alter,或drop数据库用户的一个
特殊用户,或者是拥有这些权限的一组用户,应注意的是,只
有那些值得信任的个人才应该有管理数据库用户的权限。
(2) 用户身份确认
数据库用户可以通过 *** 作系统,网络服务,或数据库进行
身份确认,通过主机 *** 作系统进行用户身份认证的优点有:
A 用户能更快,更方便地联入数据库;
B 通过 *** 作系统对用户身份确认进行集中控制:如果 *** 作
系统与数据库用户信息一致,那么Oracle无须存储和管
理用户名以及密码;
C 用户进入数据库和 *** 作系统审计信息一致。
(3) *** 作系统安全性
A 数据库管理员必须有create和delete文件的 *** 作系统权限;
B 一般数据库用户不应该有create或delete与数据库相关文
件的 *** 作系统权限;
C 如果 *** 作系统能为数据库用户分配角色,那么安全性管理者
必须有修改 *** 作系统帐户安全性区域的 *** 作系统权限。
数据的安全性策略:
数据的生考虑应基于数据的重要性。如果数据不是很重要,那么数
据的安全性策略可以稍稍放松一些。然而,如果数据很重要,那么应该
有一谨慎的安全性策略,用它来维护对数据对象访问的有效控制。
用户安全性策略:
(1) 一般用户的安全性
A 密码的安全性
如果用户是通过数据库进行用户身份的确认,那么建议
使用密码加密的方式与数据库进行连接。这种方式的设置方
法如下:
在客户端的oracleini文件中设置
ora_encrypt_login数为true;
在服务器端的initORACLE_SIDora文件中设置
dbling_encypt_login参数为true。
B 权限管理
对于那些用户很多,应用程序和数据对象很丰富的数据
库,应充分利用“角色”这个机制所带的方便性对权限进行
有效管理。对于复杂的系统环境,“角色”能大大地简化权
限的管理。
(2) 终端用户的安全性
您必须针对终端用户制定安全性策略。例如,对于一个有
很多用户的大规模数据库,安全性管理者可以决定用户组分类,
为这些用户组创建用户角色,把所需的权限和应用程序角色授
予每一个用户角色,以及为用户分配相应的用户角色。当处理
特殊的应用要求时,安全性管理者也必须明确地把一些特定的
权限要求授予给用户。您可以使用“角色”对终端用户进行权
限管理。
数据库管理者安全性策略:
(1) 保护作为sys和system用户的连接
当数据库创建好以后,立即更改有管理权限的sys和system用
户的密码,防止非法用户访问数据库。当作为sys和system用户
连入数据库后,用户有强大的权限用各种方式对数据库进行改动。
(2) 保护管理者与数据库的连接
应该只有数据库管理者能用管理权限连入数据库,当以sysdba
或startup,shutdown,和recover或数据库对象(例如create,
drop,和delete等)进行没有任何限制的 *** 作。
(3) 使用角色对管理者权限进行管理
应用程序开发者的安全性策略:
(1) 应用程序开发者和他们的权限
数据库应用程序开发者是唯一一类需要特殊权限组完成自己
工作的数据库用户。开发者需要诸如create table,create
procedure等系统权限,然而,为了限制开发者对数据库的 *** 作,
只应该把一些特定的系统权限授予开发者。
(2) 应用程序开发者的环境
A 程序开发者不应与终端用户竞争数据库资源;
B 用程序开发者不能损害数据库其他应用产品。
(3) free和controlled应用程序开发
应用程序开发者有一下两种权限:
A free development
应用程序开发者允许创建新的模式对象,包括table,index,
procedure,package等,它允许应用程序开发者开发独立于其
他对象的应用程序。
B controlled development
应用程序开发者不允许创建新的模式对象。所有需要table,
indes procedure等都由数据库管理者创建,它保证了数据
库管理者能完全控制数据空间的使用以及访问数据库信息的
途径。但有时应用程序开发者也需这两种权限的混和。
(4) 应用程序开发者的角色和权限
数据库安全性管理者能创建角色来管理典型的应用程序开
发者的权限要求。
A create系统权限常常授予给应用程序开发者,以到于
他们能创建他的数据对象。
B 数据对象角色几乎不会授予给应用程序开发者使用的
角色。
(5) 加强应用程序开发者的空间限制
作为数据库安全性管理者,您应该特别地为每个应用程
序开发者设置以下的一些限制:
A 开发者可以创建table或index的表空间;
B 在每一个表空间中,开发者所拥有的空间份额。应用程
序管理者的安全在有许多数据库应用程序的数据库系统
中,您可能需要一应用程序管理者,应用程序管理者应
负责以下的任务:
C 为每一个应用程序创建角色以及管理每一个应用程序
的角色;
D 创建和管理数据库应用程序使用的数据对象;
E 需要的话,维护和更新应用程序代码和Oracle的存储
过程和程序包。
网络上类似的代码大多只能在gb2312编码下使用,下面这个类同时能在utf-8编码下将汉字转换为拼音,具体的代码和用法如下:
<php
function Pinyin($_String, $_Code='gb2312')
{
$_DataKey = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|cang|cao|ce|ceng|cha"
"|chai|chan|chang|chao|che|chen|cheng|chi|chong|chou|chu|chuai|chuan|chuang|chui|chun|chuo|ci|cong|cou|cu|"
"cuan|cui|cun|cuo|da|dai|dan|dang|dao|de|deng|di|dian|diao|die|ding|diu|dong|dou|du|duan|dui|dun|duo|e|en|er"
"|fa|fan|fang|fei|fen|feng|fo|fou|fu|ga|gai|gan|gang|gao|ge|gei|gen|geng|gong|gou|gu|gua|guai|guan|guang|gui"
"|gun|guo|ha|hai|han|hang|hao|he|hei|hen|heng|hong|hou|hu|hua|huai|huan|huang|hui|hun|huo|ji|jia|jian|jiang"
"|jiao|jie|jin|jing|jiong|jiu|ju|juan|jue|jun|ka|kai|kan|kang|kao|ke|ken|keng|kong|kou|ku|kua|kuai|kuan|kuang"
"|kui|kun|kuo|la|lai|lan|lang|lao|le|lei|leng|li|lia|lian|liang|liao|lie|lin|ling|liu|long|lou|lu|lv|luan|lue"
"|lun|luo|ma|mai|man|mang|mao|me|mei|men|meng|mi|mian|miao|mie|min|ming|miu|mo|mou|mu|na|nai|nan|nang|nao|ne"
"|nei|nen|neng|ni|nian|niang|niao|nie|nin|ning|niu|nong|nu|nv|nuan|nue|nuo|o|ou|pa|pai|pan|pang|pao|pei|pen"
"|peng|pi|pian|piao|pie|pin|ping|po|pu|qi|qia|qian|qiang|qiao|qie|qin|qing|qiong|qiu|qu|quan|que|qun|ran|rang"
"|rao|re|ren|reng|ri|rong|rou|ru|ruan|rui|run|ruo|sa|sai|san|sang|sao|se|sen|seng|sha|shai|shan|shang|shao|"
"she|shen|sheng|shi|shou|shu|shua|shuai|shuan|shuang|shui|shun|shuo|si|song|sou|su|suan|sui|sun|suo|ta|tai|"
"tan|tang|tao|te|teng|ti|tian|tiao|tie|ting|tong|tou|tu|tuan|tui|tun|tuo|wa|wai|wan|wang|wei|wen|weng|wo|wu"
"|xi|xia|xian|xiang|xiao|xie|xin|xing|xiong|xiu|xu|xuan|xue|xun|ya|yan|yang|yao|ye|yi|yin|ying|yo|yong|you"
"|yu|yuan|yue|yun|za|zai|zan|zang|zao|ze|zei|zen|zeng|zha|zhai|zhan|zhang|zhao|zhe|zhen|zheng|zhi|zhong|"
"zhou|zhu|zhua|zhuai|zhuan|zhuang|zhui|zhun|zhuo|zi|zong|zou|zu|zuan|zui|zun|zuo";
$_DataValue = "-20319|-20317|-20304|-20295|-20292|-20283|-20265|-20257|-20242|-20230|-20051|-20036|-20032|-20026|-20002|-19990"
"|-19986|-19982|-19976|-19805|-19784|-19775|-19774|-19763|-19756|-19751|-19746|-19741|-19739|-19728|-19725"
"|-19715|-19540|-19531|-19525|-19515|-19500|-19484|-19479|-19467|-19289|-19288|-19281|-19275|-19270|-19263"
"|-19261|-19249|-19243|-19242|-19238|-19235|-19227|-19224|-19218|-19212|-19038|-19023|-19018|-19006|-19003"
"|-18996|-18977|-18961|-18952|-18783|-18774|-18773|-18763|-18756|-18741|-18735|-18731|-18722|-18710|-18697"
"|-18696|-18526|-18518|-18501|-18490|-18478|-18463|-18448|-18447|-18446|-18239|-18237|-18231|-18220|-18211"
"|-18201|-18184|-18183|-18181|-18012|-17997|-17988|-17970|-17964|-17961|-17950|-17947|-17931|-17928|-17922"
"|-17759|-17752|-17733|-17730|-17721|-17703|-17701|-17697|-17692|-17683|-17676|-17496|-17487|-17482|-17468"
"|-17454|-17433|-17427|-17417|-17202|-17185|-16983|-16970|-16942|-16915|-16733|-16708|-16706|-16689|-16664"
"|-16657|-16647|-16474|-16470|-16465|-16459|-16452|-16448|-16433|-16429|-16427|-16423|-16419|-16412|-16407"
"|-16403|-16401|-16393|-16220|-16216|-16212|-16205|-16202|-16187|-16180|-16171|-16169|-16158|-16155|-15959"
"|-15958|-15944|-15933|-15920|-15915|-15903|-15889|-15878|-15707|-15701|-15681|-15667|-15661|-15659|-15652"
"|-15640|-15631|-15625|-15454|-15448|-15436|-15435|-15419|-15416|-15408|-15394|-15385|-15377|-15375|-15369"
"|-15363|-15362|-15183|-15180|-15165|-15158|-15153|-15150|-15149|-15144|-15143|-15141|-15140|-15139|-15128"
"|-15121|-15119|-15117|-15110|-15109|-14941|-14937|-14933|-14930|-14929|-14928|-14926|-14922|-14921|-14914"
"|-14908|-14902|-14894|-14889|-14882|-14873|-14871|-14857|-14678|-14674|-14670|-14668|-14663|-14654|-14645"
"|-14630|-14594|-14429|-14407|-14399|-14384|-14379|-14368|-14355|-14353|-14345|-14170|-14159|-14151|-14149"
"|-14145|-14140|-14137|-14135|-14125|-14123|-14122|-14112|-14109|-14099|-14097|-14094|-14092|-14090|-14087"
"|-14083|-13917|-13914|-13910|-13907|-13906|-13905|-13896|-13894|-13878|-13870|-13859|-13847|-13831|-13658"
"|-13611|-13601|-13406|-13404|-13400|-13398|-13395|-13391|-13387|-13383|-13367|-13359|-13356|-13343|-13340"
"|-13329|-13326|-13318|-13147|-13138|-13120|-13107|-13096|-13095|-13091|-13076|-13068|-13063|-13060|-12888"
"|-12875|-12871|-12860|-12858|-12852|-12849|-12838|-12831|-12829|-12812|-12802|-12607|-12597|-12594|-12585"
"|-12556|-12359|-12346|-12320|-12300|-12120|-12099|-12089|-12074|-12067|-12058|-12039|-11867|-11861|-11847"
"|-11831|-11798|-11781|-11604|-11589|-11536|-11358|-11340|-11339|-11324|-11303|-11097|-11077|-11067|-11055"
"|-11052|-11045|-11041|-11038|-11024|-11020|-11019|-11018|-11014|-10838|-10832|-10815|-10800|-10790|-10780"
"|-10764|-10587|-10544|-10533|-10519|-10331|-10329|-10328|-10322|-10315|-10309|-10307|-10296|-10281|-10274"
"|-10270|-10262|-10260|-10256|-10254";
$_TDataKey = explode('|', $_DataKey);
$_TDataValue = explode('|', $_DataValue);
$_Data = (PHP_VERSION>='50') array_combine($_TDataKey, $_TDataValue) : _Array_Combine($_TDataKey, $_TDataValue);
arsort($_Data);
reset($_Data);
if($_Code != 'gb2312') $_String = _U2_Utf8_Gb($_String);
$_Res = '';
for($i=0; $i<strlen($_String); $i++)
{
$_P = ord(substr($_String, $i, 1));
if($_P>160) { $_Q = ord(substr($_String, ++$i, 1)); $_P = $_P256 + $_Q - 65536; }
$_Res = _Pinyin($_P, $_Data);
}
return preg_replace("/[^a-z0-9]/", '', $_Res);
}
function _Pinyin($_Num, $_Data)
{
if ($_Num>0 && $_Num<160 ) return chr($_Num);
elseif($_Num<-20319 || $_Num>-10247) return '';
else {
foreach($_Data as $k=>$v){ if($v<=$_Num) break; }
return $k;
}
}
function _U2_Utf8_Gb($_C)
{
$_String = '';
if($_C < 0x80) $_String = $_C;
elseif($_C < 0x800)
{
$_String = chr(0xC0 | $_C>>6);
$_String = chr(0x80 | $_C & 0x3F);
}elseif($_C < 0x10000){
$_String = chr(0xE0 | $_C>>12);
$_String = chr(0x80 | $_C>>6 & 0x3F);
$_String = chr(0x80 | $_C & 0x3F);
} elseif($_C < 0x200000) {
$_String = chr(0xF0 | $_C>>18);
$_String = chr(0x80 | $_C>>12 & 0x3F);
$_String = chr(0x80 | $_C>>6 & 0x3F);
$_String = chr(0x80 | $_C & 0x3F);
}
return iconv('UTF-8', 'GB2312', $_String);
}
function _Array_Combine($_Arr1, $_Arr2)
{
for($i=0; $i<count($_Arr1); $i++) $_Res[$_Arr1[$i]] = $_Arr2[$i];
return $_Res;
}
//用法:
//第二个参数留空则为gb1232编码
echo Pinyin('中国站长天空');
//第二个参数随意设置则为utf-8编码
echo Pinyin('中国站长天空',1);
>
create view C
as
select Aid,Apname,Ajp,Bp,Bfp
from A,B
where Aid=Bid
C是视图,在A中插入时C中就会插入了
电脑显示器不亮:检查是主机还是显示器本身原因
电脑显示器不亮
电脑显示器
1、开机后,我们先不管显示器是否能正常的亮或显示,我们先再次按主机上的重启键,然后我们按一下键中的“Num Lock”键,也就是台式键盘右边的数字开关切换键。
2、如数字开关键上面的数字锁定灯可以正常的亮或正常的灭,这时就说明电脑主机一般没啥事儿了,基本上可以确定是由显示器本身的问题了。
3、如无法显示正常的灯亮和灯灭的话,那么基本可以说明是电脑机箱内部的硬件有问题了。除了按“Num Lock”键,还可以按“Caps Lock”这个大小写切换键。
4、如果问题是键盘中USB接口的话,开机后大家可以多等一下,也就是估计一下电脑这时应该已经进入桌面的样子,当然如果有音响的网友可以也把音响插上听下是否有开机的声音。如果能正常的听到开机声音之类的同样说明显示器不亮和系统、主机是一点关系都没有。
阅读更多
电脑显示器不亮:由显示器本身引起的开机无法显示故障
电脑显示器不亮
电脑显示器
1、检查显示器未通电或没开启。不少网友也会碰到这个不是错误的小错误。特别是那种大头显示器,不好区分自己是否按过显示器的开关。
2、一般显示器上都会有一个通电指示灯,大家可以在显示器上找一下看一下这个显示器是否已经打开,一般如果打开都会直接亮了。
3、如果已经按了开关还是不亮的话,那么请检查是否电源线插座是否通电,换个插座试一下,或换条电源线试一下。一般来说液晶显示的电源线和电饭堡、主机箱上的电源线是可以通用的。
4、一般来说经常搬动主机的话,当出现灯不亮的情况,很有可能就是这个电源线接触不良或里面的线断了。
电脑显示器不亮:检查显示器VGA数据库是否插好
电脑显示器不亮
电脑显示器
1、当电源没问题的时候。这时显示器是也是有些信息出现的,比如说显示器显示“没信号”这样的提示,这时就要检查连接电脑显示器的这个线是否插好。
2、另外,切记不要把显示线的VAG数据线插错了,有独立显卡的就要插独立显卡。没的就插集成显卡。
3、还有些网友可能是独立显卡,但是显示器上提示“无信号”,那么就有可能是独立显卡有毛病,首先把独立显卡拔了,把独显金手指部分清理,同时把显卡插槽也清理一下再重新插回。
电脑显示器不亮:电脑硬件原因引起的显示器无法显示
电脑显示器不亮
电脑显示器
1、当出现这种情况时,就是按大小写键或数字键切换没用,也就是说主板无法把信号正常的输入和输出。那么明显就是硬件问题了。
2、清理灰尘。如果机子用的比较久的话,极有可能就是灰尘的原因引起的。时好时错,这种问题很常见。拆开机箱,把主板上的灰尘都清理一遍。
3、内存条接触不良。内存条方面也是一个一种非常常见的问题,清理灰尘的时候,同时把内存条都拔出来,然后把内存插槽清理一下,同时把内存条金手指部分清理一下。
4、电容暴将。有些主板上的电容出现暴将,也会这样,一般来说这种问题自己无法解决,只能是用肉眼就可以看到主板上那个电容出现了鼓起来了就有问题。拿到修主板的地方修即可。
1C语言如何把输入进去的数放到数组中
include<stdioh>
void main()
{
int a[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
saf("%d",&a[i][j]);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
printf("a[%d][%d]=%d ",i,j,a[i][j]);
}
扩展资料:
数组的使用规则:
1可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。
2只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。
3如不给可初始化的数组赋初值,则全部元素均为0值。
4如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。
参考资料:
搜狗百科-数组
2C语言怎么让键盘输入数字到数组里
1、首先打开电脑的编辑软件。然后创建编辑项目。
2、创建文复件指针和字符型char。再读取文件内容。
3、然后用制for语句进行接受数据。再用getchar语句接受键盘的输入。
4、然后用foput函数。再将数据写入到zd文件。
5、然后用fclose函数关闭文件。再返回数值。
6、运行程序,输入数值。再打开文件,就可以发现键盘输入的东西,写入到文件。
3c语言怎么把文本文档的数据输入到一维数组中
利用字符数组(也就是字符串) #include #include #define N 4 struct stu { char id[100]; char name[100]; char age; }St[N]; int main(void) { int i = 0; FILE fp = NULL; if( !(fp = fopen("1txt","rb"))) { printf("打开失败!\n"); exit(1); } for(i = 0;i < N; ++i) { fread(&St[i],sizeof(struct stu),1,fp); } for(i = 0; i < N; ++i) { printf("%s %s\n",St[i]id,St[i]name); } fclose(fp); return 0;。
4c语言中输入数据到数组中,求大神请教
#include<stdioh>
int main(void)
{
char ca[30] = "";
int a[30] = {0};
printf("输入身份z号\n");
scanf("%s",ca);
int i = 0;
while(ca[i] != '\0')
{
a[i] = ca[i] -'0';
i++;
}
return 0;
}
a中存放的就是你需要的数据。如果不能满足,欢迎追问。
5C语言如何输入一个数组
1、输入数组需要使用指针获取地址后,就能对得到的数组就行 *** 作了。首先打开DEV C++软件,新建一个空白的C语言文件:
2、输入程序的源码,先定义一个整型数组“a[5]”,采用scanf语句输入数组中的每个元素,这里使用指针来对输入的数字进行访问,要先给输入的每一个数字给予它的地址,便于访问,最后拿得到的数计算出平均值输出,程序就编写完成了:
3、代码全部编写成功之后编译运行,在d出的输入面板中输入任意5个整数,按回车键,即可得出平均值,以上就是用C语言输入一个数组,关键点是数组的获取要用指针:
6c中怎么任意输入数组
对于字符数组,可以用gets函数。。。。。其他数组么,还不知道。。。
我刚试了一下,你可以试试。
#include<iostream>
#define Type int
using namespace std;
int main()
{
int i;
Type s[100];
for(i=0; s[i]!=0;i++)
{
cin>>s[i];
}
int j;
for(j=0;j<=i;j++)
{
cout<<s[j]<<endl;
}
return 0;
}
你的数组类型可以自定义,在define里宏定义。。。。。对于第二个循环,你在思考一下,总感觉有些不对。。。。。i在第一个数组里面,它记录了数组元素的个数。
7c语言如何把数组中的数据加起来
可以通过循环遍历数组中的每个元素,并进行累加。
累加的结果可以保存在变量中,需要注意,要保证变量足够保存累加结果,不会出现溢出。
参数为整型数组a,长度为l,对其元素实现累加并返回结果的函数可以写作
int sum(int a, int l)
{
int r = 0; 存储累加结果。
int i;
for(i = 0; i < l; i ++)遍历a
r += a[i];累加元素。
return r;返回结果。
}
8C语言中如何依次输入数组中元素
#include<stdioh>
int main()
{
int a[17];
int i;
for(i=0;i<17;i++)
{
scanf("%d",&a[i]);
}
return 0;
}
扩展资料:
数组:是有序的元素序列。 若将有限个类型相同的变量的 命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 这些无序排列的同类数据元素的 称为数组。
声明固定大小的数组:
有三种方法声明固定大小的数组,用哪一种方法取决于数组应有的有效范围:
1,建立公用数组,在模块的声明段用 Public语句声明数组。
2,建立模块级数组,在模块的声明段用 Private语句声明数组。
3,建立局部数组,在过程中用 Private语句声明数组。
通过python将大批excel数据导入mysql:
利用Python从EXCEL中读取两列数据存储在LIST中然后连接数据库利用insert语句和LIST 内容结合,导入数据库;然后再从数据库读取表的字段和内容,存放到EXCEL新表中即可。
以下的导入的核心代码:
#按照说明安装即可
import win32comclient as win32
import MySQLdb
app='Excel'
#启动EXCEL程序
xl=win32gencacheEnsureDispatch('%sApplication' % app)
#打开相应的EXCEL文件
xlbook=win32Dispatch('ExcelApplication')WorkbooksOpen('D:\\pyd\\opsdataxls')
#读取EXCEL工具表,打开要导入数据的表
sh=xlbookWorksheets('sheet2')
#建立一个空LIST和两个循环参数
dfun=[]
jcount=2
ncount=1
#从第一列开始向下循环,找到为空的那一行返回行数,即为第ncount行为空
for ncount in range(1,65566):
if shCells(ncount,1)Value==None:
break
else:
continue
#print ncount,测试代码,测试ncount值
#EXCEL的数据安排为第一行是字段,第二行开始是数据,故从第2行开始循环,将两列数据合并到一个LIST中
#LIST结构为[('a','b'),('c','d')]
for jcount in range(2,ncount):
dfunappend((shCells(jcount,1)Value,shCells(jcount,2)Value))
#关闭EXCEL程序
#xlApplicationQuit()
#print dfun,测试代码测试dfun的数据
#建立一个空LIST fo用来存放字段,读取EXCEL中第一行的字段存储到fo中
fo=[]
icount=1
for icount in range(1,2):
foappend((shCells(1,icount)Value,shCells(1,icount+1)Value))
#测试代码,print fo
#打开MYSQL链接
conn=MySQLdbconnect(host='localhost',user='root',passwd='0789asd',db='python')
#获取游标 *** 作
cursor=conncursor()
#建立一个空表
cursorexecute("create table test("+fo[0][0]+" varchar(100),"+fo[0][1]+" varchar(100));")
#利用executemany命令,将LIST,dfun中的数据通过insert语句写入数据库
cursorexecutemany("""insert into test values(%s,%s);""" ,dfun)
#确认数据 *** 作,注意如果没有conncommit()这个命令,数据无法被插入到数据库中
conncommit()
#执行查询检查结果
count = cursorexecute('select from test')
print 'has %s record' % count
#重置游标位置
cursorscroll(0,mode='absolute')
#搜取所有结果
results = cursorfetchall()
#测试代码,print results
#获取MYSQL里的数据字段
fields = cursordescription
#将字段写入到EXCEL新表的第一行
sh2=xlbookWorksheets('sheet3')
#清空sheet3
sh2CellsClear
for ifs in range(1,len(fields)+1):
sh2Cells(1,ifs)Value=fields[ifs-1][0]
#将读取的数据填入到相应的行列中
ics=2
jcs=1
for ics in range(2,len(results)+2):
for jcs in range(1,len(fields)+1):
sh2Cells(ics,jcs)Value=results[ics-2][jcs-1]
#关闭EXCEL程序
xlApplicationQuit()
#关闭游标和查询链接
cursorclose()
connclose()
以上就是关于Visual FoxPro数据库是什么全部的内容,包括:Visual FoxPro数据库是什么、如何保证oracle数据库的安全性、Mysql按汉语拼音首字母查询数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)