Visual FoxPro数据库是什么

Visual FoxPro数据库是什么,第1张

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按汉语拼音首字母查询数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9790738.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存