1、点击电脑桌面上的Golabel图标,打开软件。
2、打开以后的界面。
3、点击菜单栏的“新建”,会跳出“打印设定”界面,根据条码纸的实际尺寸,设置正确的标签宽度和标签高度。然后点击“保存”。
4、点击左侧“条码”按钮。
5、然后会显示全部的条码格式,点击下面一个带1D图标的“条码”。
6、跳出“条码设定”的界面,箭头所指的地方,可以修改你的条码内容,修改好以后点击“确定”。
7、就会出现如图的条码+数字的格式。
8、点击“将标签保存为”,会出现“另存为”的界面,选择保存位置和名称,比如名字为:条形码制作,点击“保存”。
9、保存后就会在桌面出现文件:条形码制作,以后如果需要,就可以打开文件直接操作了。
golabel标签打印机无法识别打印机故障了。
可以打开标签打印机使用的侧面按钮检查一下。检查标签本身的地方可能松动的后盾。任何标签的支持已经松动,应该被丢弃。用棉签清洁打印机内部。更换标签卷或装入新的卷筒纸。检查网站更新的驱动程序。
为了使标签打印机的使用寿命更长,我们需要定期对它进行保养和清洁。如果打印机每天都在使用,那么清洁周期相应要频繁一点。
请教!!
可读有两种说法
1是指文件属性是-R的(文件可读属性)
2指文件是可视化编辑的,譬如.txt、.html文件等,都是可以直接读写的,二进制文件、.exe文件就是不可读文件
可执行文件一般指.exe、.com的文件,是可以独立执行完成预定任务的一个程序
什么是数据库?
数据库是以某种文件结构存储的一系列信息表,这种文件结构使您能够访问这些表、选择表中的列、对表进行排序以及根据各种标准选择行。数据库通常有多个索引与这些表中的许多列相关联,所以我们能尽可能快地访问这些表。
以员工记录为例,您可以设想一个含有员工姓名、地址、工资、扣税以及津贴等内容的表。让我们考虑一下这些内容可能如何组织在一起。您可以设想一个表包含员工姓名、地址和电话号码。您希望保存的其它信息可能包括工资、工资范围、上次加薪时间、下次加薪时间、员工业绩评定等内容。
这些内容是否应保存在一个表格中?几乎可以肯定不应该如此。不同类别的员工的工资范围可能没有区别;这样,您可以仅将员工类型储存在员工记录表中,而将工资范围储存在另一个表中,通过类型编号与这个表关联。考虑以下情况:
KeyLastnameSalaryTypeSalaryTypeMinMax
1Adams213000045000
2Johnson124500060000
3Smyth336000075000
4Tully1
5Wolff2
SalaryType列中的数据引用第二个表。我们可以想象出许多种这样的表,如用于存储居住城市和每个城市的税值、健康计划扣除金额等的表。每个表都有一个主键列(如上面两个表中最左边的列)和若干数据列。在数据库中建立表格既是一门艺术,也是一门科学。这些表的结构由它们的范式指出。我们通常说表属于1NF、2NF或3NF。
第一范式:表中的每个表元应该只有一个值(永远不可能是一个数组)。(1NF)
第二范式:满足1NF,并且每一个非主键列完全依赖于主键列。这表示主键和该行中的剩余表元之间是1对1的关系。(2NF)
第三范式:满足2NF,并且所有非主键列是互相独立的。任何一个数据列中包含的值都不能从其他列的数据计算得到。(3NF)
现在,几乎所有的数据库都是基于“第三范式(3NF)”创建的。这意味着通常都有相当多的表,每个表中的信息列都相对较少。
从数据库中获取数据
假设我们希望生成一个包含员工及其工资范围的表,在我们设计的一个练习中将使用这个表。这个表格不是直接存在在数据库中,但可以通过向数据库发出一个查询来构建它。我们希望得到如下所示的一个表:
NameMinMax
Tully$30,000.00$45,000.00
Johnson$30,000.00$45,000.00
Wolff$45,000.00$60,000.00
Adams$45,000.00$60,000.00
Smyth$60,000.00$75,000.00
我们发现,获得这些表的查询形式如下所示
SELECTDISTINCTROWEmployees.Name,SalaryRanges.Min,
SalaryRanges.MaxFROMEmployeesINNERJOINSalaryRangesONEmployees.SalaryKey=SalaryRanges.SalaryKey
ORDERBYSalaryRanges.Min;
这种语言称为结构化查询语言,即SQL,而且它是几乎目前所有数据库都可以使用的一种语言。SQL-92标准被认为是一种基础标准,而且已更新多次。
数据库的种类
PC上的数据库,如dBase、BorlandParadox、MicrosoftAccess和FoxBase。
数据库服务器:IBMDB/2、MicrosoftSQLServer、Oracle、Sybase、SQLBase和XDB。
所有这些数据库产品都支持多种相对类似的SQL方言,因此,所有数据库最初看起来好象可以互换。每种数据库都有不同的性能特征,而且每一种都有不同的用户界面和编程接口。
ODBC
如果我们能够以某种方式编写不依赖于特定厂商的数据库的代码,并且能够不改变自己的调用程序即可从这些数据库中得到相同的结果,那将是一件很好的事。如果我们可以仅为所有这些数据库编写一些封装,使它们具有相似的编程接口,这种对数据库编程独立于供应商的特性将很容易实现。
什么是JDBC?
JDBC是对ODBCAPI进行的一种面向对象的封装和重新设计,它易于学习和使用,并且它真正能够使您编写不依赖厂商的代码,用以查询和操纵数据库。尽管它与所有JavaAPI一样,都是面向对象的,但它并不是很高级别的对象集.
除Microsoft之外,多数厂商都采用了JDBC,并为其数据库提供了JDBC驱动程序;这使您可轻松地真正编写几乎完全不依赖数据库的代码。另外,JavaSoft和Intersolv已开发了一种称为JDBC-ODBCBridge的产品,可使您连接还没有直接的JDBC驱动程序的数据库。支持JDBC的所有数据库必须至少可以支持SQL-92标准。这在很大程度上实现了跨数据库和平台的可移植性。
安装和使用JDBC
JDBC的类都被归到java.sql包中,在安装JavaJDK1.4时会自动安装。然而,如果您想使用JDBC-ODBC桥。JDBC-ODBC驱动程序可从Sun的Java网站()轻松地找到并下载。在您扩充并安装了这个驱动程序后,必须执行下列步骤:
将\jdbc-odbc\classes;路径添加到您的PATH环境变量中。
将\jdbc-odbc\classes;路径添加到您的CLASSPATH环境变量中。
JDBC驱动程序的类型
Java程序连接数据库的方法实际上有四种:
1.JDBC-ODBC桥和ODBC驱动程序--在这种方式下,这是一个本地解决方案,因为ODBC驱动程序和桥代码必须出现在用户的每台机器中。从根本上说这是一个临时解决方案。
2.本机代码和Java驱动程序--它用另一个本地解决方案(该平台上的Java可调用的本机代码)取代ODBC和JDBC-ODBC桥。
3.JDBC网络的纯Java驱动程序--由Java驱动程序翻译的JDBC形成传送给服务器的独立协议。然后,服务器可连接任何数量的数据库。这种方法使您可能从客户机Applet中调用服务器,并将结果返回到您的Applet。在这种情况下,中间件软件提供商可提供服务器。
4.本机协议Java驱动程序--Java驱动程序直接转换为该数据库的协议并进行调用。这种方法也可以通过网络使用,而且可以在Web浏览器的Applet中显示结果。在这种情况下,每个数据库厂商将提供驱动程序。
如果您希望编写代码来处理PC客户机数据库,如dBase、Foxbase或Access,则您可能会使用第一种方法,并且拥有用户机器上的所有代码。更大的客户机-服务器数据库产品(如IBM的DB2)已提供了第3级别的驱动程序。
两层模型和三层模型
当数据库和查询它的应用程序在同一台机器上,而且没有服务器代码的干预时,我们将生成的程序称为两层模型。一层是应用程序,而另一层是数据库。在JDBC-ODBC桥系统中通常是这种情况。
当一个应用程序或applet调用服务器,服务器再去调用数据库时,我们称其为三层模型。当您调用称为“服务器”的程序时通常是这种情况。
编写JDBC代码访问数据库
用ODBC注册您的数据库
连接数据库
所有与数据库有关的对象和方法都在java.sql包中,因此在使用JDBC的程序中必须加入"importjava.sql.*"。JDBC要连接ODBC数据库,您必须首先加载JDBC-ODBC桥驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
该语句加载驱动程序,并创建该类的一个实例。然后,要连接一个特定的数据库,您必须创建Connect类的一个实例,并使用URL语法连接数据库。
Stringurl="jdbc:odbc:Northwind";
Connectioncon=DriverManager.getConnection(url);
请注意,您使用的数据库名是您在ODBC设置面板中输入的“数据源”名称。
URL语法可能因数据库类型的不同而变化极大。
jdbc:subprotocol:subname
第一组字符代表连接协议,并且始终是jdbc。还可能有一个子协议,在此处,子协议被指定为odbc。它规定了一类数据库的连通性机制。如果您要连接其它机器上的数据库服务器,可能也要指定该机器和一个子目录:
jdbc:bark//doggie/elliott
最后,您可能要指定用户名和口令,作为连接字符串的一部分:
jdbc:bark//doggie/elliot;UID=GoodDog;PWD=woof
访问MSSQLServer方法:(驱动程序需要:msutil.jar,msbase.jar,mssqlServer.jar)
DBDriver=com.microsoft.jdbc.sqlserver.SQLServerDriver
URL=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=demo
username=sa
password=
maxcon=10
mincon=1
poolName=SkyDev
利用我们开发的数据库类,使用方法如下:
DbObjectDbO=newDbObject(newSqlServerConnectionFactory("localhost",
1433,"demo","sa",""));
Connectioncon=DbO.getConnection();
//类代码(不含连接工厂实现)
packageskydev.modules.data;
publicfinalclassSqlServerConnectionFactory
extendsConnectionFactory{
privatefinalStringdbDriver=
"com.microsoft.jdbc.sqlserver.SQLServerDriver";
privateStringhost;
privateintport;
privateStringdatabaseName;
publicSqlServerConnectionFactory(){
super.setDriverName(dbDriver);
}
/**
*
*@paramhost数据库所在的主机名:如"localhost"
*@paramportSQL服务器运行的端口号,如果使用缺省值1433,传入一个负数即可
*@paramdatabaseName数据库名称
*@paramuserName用户名
*@parampassword口令
*/
publicSqlServerConnectionFactory(Stringhost,
intport,
StringdatabaseName,
StringuserName,
Stringpassword){
this.setHost(host);
this.setPort(port);
this.setDatabaseName(databaseName);
this.setUserName(userName);
this.setPassword(password);
init();
}
privatevoidinit(){
super.setDriverName(dbDriver);
super.setUrl("jdbc:microsoft:sqlserver://"+host.trim()+":"+
newInteger(port).toString()+";DatabaseName="+
databaseName.trim());
//super.setUrl("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=demo");
}
……
//------------------------------------------------------------------------------------
访问MySQL的方法:
DBDriver=com.mysql.jdbc.Driver
URL=jdbc:mysql://localhost/demo
username=
password=
maxcon=5
mincon=1
poolName=zhengmao
访问数据库
一旦连接到数据库,就可以请求表名以及表列的名称和内容等信息,而且您可以运行SQL语句来查询数据库或者添加或修改其内容。可用来从数据库中获取信息的对象有:
DatabaseMetaData有关整个数据库的信息:表名、表的索引、数据库产品的名称和版本、数据库支持的操作。
ResultSet关于某个表的信息或一个查询的结果。您必须逐行访问数据行,但是您可以任何顺序访问列。
ResultSetMetaData有关ResultSet中列的名称和类型的信息。
尽管每个对象都有大量的方法让您获得数据库元素的极为详细的信息,但在每个对象中都有几种主要的方法使您可获得数据的最重要信息。然而,如果您希望看到比此处更多的信息,建议您学习文档以获得其余方法的说明。
ResultSet
ResultSet对象是JDBC中最重要的单个对象。从本质上讲,它是对一个一般宽度和未知长度的表的一种抽象。几乎所有的方法和查询都将数据作为ResultSet返回。ResultSet包含任意数量的命名列,您可以按名称访问这些列。它还包含一个或多个行,您可以按顺序自上而下逐一访问。在您使用ResultSet之前,必须查询它包含多少个列。此信息存储在ResultSetMetaData对象中。
//从元数据中获得列数
ResultSetMetaDatarsmd;
rsmd=results.getMetaData();
numCols=rsmd.getColumnCount();
当您获得一个ResultSet时,它正好指向第一行之前的位置。您可以使用next()方法得到其他每一行,当没有更多行时,该方法会返回false。由于从数据库中获取数据可能会导致错误,您必须始终将结果集处理语句包括在一个try块中。
您可以多种形式获取ResultSet中的数据,这取决于每个列中存储的数据类型。另外,您可以按列序号或列名获取列的内容。请注意,列序号从1开始,而不是从0开始。ResultSet对象的一些最常用方法如下所示。
getInt(int);将序号为int的列的内容作为整数返回。
getInt(String);将名称为String的列的内容作为整数返回。
getFloat(int);将序号为int的列的内容作为一个float型数返回。
getFloat(String);将名称为String的列的内容作为float型数返回。
getDate(int);将序号为int的列的内容作为日期返回。
getDate(String);将名称为String的列的内容作为日期返回。
next();将行指针移到下一行。如果没有剩余行,则返回false。
Close();关闭结果集。
getMetaData();返回ResultSetMetaData对象。
ResultSetMetaData
您使用getMetaData()方法从ResultSet中获取ResultSetMetaData对象。您可以使用此对象获得列的数目和类型以及每一列的名称。
getColumnCount();返回ResultSet中的列数。
getColumnName(int);返回列序号为int的列名。
getColumnLabel(int);返回此列暗含的标签。
isCurrency(int);如果此列包含带有货币单位的一个数字,则返回true。
isReadOnly(int);如果此列为只读,则返回true。
isAutoIncrement(int);如果此列自动递增,则返回true。这类列通常为键,而且始终是只读的。
getColumnType(int);返回此列的SQL数据类型。这些数据类型包括
BIGINT
BINARY
BIT
CHAR
DATE
DECIMAL
DOUBLE
FLOAT
INTEGER
LONGVARBINARY
LONGVARCHAR
NULL
NUMERIC
OTHER
REAL
SMALLINT
TIME
TIMESTAMP
TINYINT
VARBINARY
VARCHAR
DatabaseMetaData
DatabaseMetaData对象可为您提供整个数据库的信息。您主要用它获取数据库中表的名称,以及表中列的名称。由于不同的数据库支持不同的SQL变体,因此,也有多种方法查询数据库支持哪些SQL方法。
getCatalogs()返回该数据库中的信息目录列表。使用JDBC-ODBCBridge驱动程序,您可以获得用ODBC注册的数据库列表。这很少用于JDBC-ODBC数据库。
getTables(catalog,schema,tableNames,columnNames)返回表名与tableNames相符而且列名与columnNames相符的所有表的说明。
getColumns(catalog,schema,tableNames,columnNames)返回表名与tableNames相符而且列名与columnNames相符的所有表列说明。
getURL();获得您所连接的URL名称。
getDriverName();获得您所连接的数据库驱动程序的名称。
获取有关表的信息
您可以使用DataBaseMetaData的getTables()方法来获取数据库中表的信息。这个方法有如下4个String参数:
results=dma.getTables(catalog,schema,tablemask,types[]);
其中参数的意义是:
Catalog要在其中查找表名的目录名。对于JDBC-ODBC数据库以及许多其他数据库而言,可将其设置为null。这些数据库的目录项实际上是它在文件系统中的绝对路径名称。
Schema要包括的数据库“方案”。许多数据库不支持方案,而对另一些数据库而言,它代表数据库所有者的用户名。一般将它设置为null。
Tablemask一个掩码,用来描述您要检索的表的名称。如果您希望检索所有表名,则将其设为通配符%。请注意,SQL中的通配符是%符号,而不是一般PC用户的*符号。
types[]这是描述您要检索的表的类型的String数组。数据库中通常包括许多用于内部处理的表,而对作为用户的您没什么价值。如果它是空值,则您会得到所有这些表。如果您将其设为包含字符串“TABLES”的单元素数组,您将仅获得对用户有用的表格。
一个简单的JDBC程序
我们已经学习了JDBC的所有基本功能,现在我们可以编写一个简单的程序,该程序打开数据库,打印它的表名以及某一表列的内容,然后对该数据库执行查询。此程序如下所示:
packageskydevkit;
importjava.sql.*;
publicclassJdbcOdbc_test{
ResultSetresults;
ResultSetMetaDatarsmd;
DatabaseMetaDatadma;
Connectioncon;
publicJdbcOdbc_test()throwsS
logo设计
创造品牌价值
¥500元起
APP开发
量身定制,源码交付
¥2000元起
商标注册
一个好品牌从商标开始
¥1480元起
公司注册
注册公司全程代办
¥0元起
查
看
更
多