『壹』 sql通訊錄表語句
F-Name QQ-Number 中 橫杠換成下劃線,Name中varchar(20)括弧是中文的,Postal code varchar(20) ,Postal code 中間加下劃線,就好了。
oracle沒有自增欄位,不能這樣:pno int identity(1,1) not null ,要實現自增,需要使用序列sequence,插入數據的時候取sequence的下一個值。
『貳』 通訊錄管理系統,要用sql語言(資料庫)實現,並且能用vb,vc++或java實現前台控制,再將這兩部分連起來
sql語言是標准資料庫查詢語言,與前台語言無關。
『叄』 SQL資料庫編寫一個通訊錄管理系統
create table 通訊錄( 編號 varchar(100) primary key, 姓名 varchar(100), 性別 varchar(100), 出生年月 varchar(100), 電話 varchar(100), 手機 varchar(100), 電子郵箱 varchar(100), QQ varchar(100), 聯系地址 varchar(100), 同學類型 varchar(100))
『肆』 Android的通訊錄支持sql查詢嗎
謝謝版主的信息,但是這樣的方法並不能滿足我的「復雜」查詢。在調用 getContentResolver().query之後我不能從返回值中直接獲得電話號碼的信息,我仍然需要去一個個枚舉返回的結果,取得姓名對應的ID,再去另一張表中進行查詢。當通訊錄中有大量沒有名字的聯系人時這一操作會相當緩慢。我希望能自由地調用復雜的sql語句來操作聯系人資料庫,比如將聯系人的表和電話號碼表「聯合」起來進行搜索。我google了很久都沒找到這方面的信息。
『伍』 用VB和SQL2000製作通訊錄
首先定義OLEDB引用:在工程-引用裡面添加 microsoft ActivrX Data Objects 2.8 Library 之後定義兩個資料庫對象用於資料庫交互操作 Public DB As Connection '資料庫連接 Public RS As Recordset '資料庫記錄操作 首先是資料庫連接,在使用之前先要聲明對象: Set DB = New ADODB.Connection 當然,程序結束時不要忘記關閉 DB和清空 If DB.State = 1 Then DB.Close Set DB = Nothing 接下來是一個連接設置與測試連接字串設置是否正確的子程序,裡面有你需要使用的連接字串編寫方法。 Private Sub cmd_TestConn_Click() On Error GoTo openConnErr With DBInfo '讀取資料庫連接信息 .Location = Trim(Txt_ConnInfo(0).Text) .Port = Trim(Txt_ConnInfo(1).Text) .UserID = Trim(Txt_ConnInfo(2).Text) .password = Trim(Txt_ConnInfo(3).Text) .DataSource = Trim(Txt_ConnInfo(4).Text) DB.ConnectionString = "Provider = SQLOLEDB;" & _ "Data Source=" & .Location & "," & .Port & ";" & _ "User ID =" & .UserID & ";" & _ "Password =" & .password & ";" & _ "Initial Catalog=" & .DataSource & ";" & _ "Persist Security Info=false" 'SQL OLEDB 連接方式. End With DB.Open'測試打開 DB.Close'關閉 MsgBox "資料庫連接成功!", vbInformation, "恭喜" ExitOpenConn: Exit Sub '----- openConnErr: With Err Select Case .Number Case -2147467259 MsgBox "資料庫連接失敗,請檢查連接設置." + vbCrLf + "錯誤代碼:" + Str(.Number) + ",錯誤來源:" + .Source + "," + .Description, vbCritical, "錯誤" Case Else MsgBox "資料庫連接失敗," + vbCrLf + "錯誤代碼:" + Str(.Number) + ",錯誤來源:" + .Source + "," + .Description, vbCritical, "錯誤" End Select .Clear End With Resume ExitOpenConn End Sub 對資料庫進行操作較常用的當然是檢索,這里是一個不帶編輯功能的數據記錄檢索方式,當然,之前你需要自己設計資料庫結構。並且需要熟悉SQL語法。 Set RS = DB.Execute("select * from [Mytab] order by SID")'檢索資料庫並將結果賦值給記錄集。 While Not RS.EOF'是否到記錄尾? Text = RS.Fields("SID").Value'取出一條記錄中需要的列的數據 RS.MoveNext'移動游標至下一條記錄 Wend If RS.State = 1 Then RS.Close'使用完後記得關閉 Set RS = Nothing '使用完後記得關閉 另一種打開記錄集的方式: Set RS = New ADODB.Recordset SQLstr = "SELECT * From [mytab] where (sid='0') ORDER BY KID" '可加排序後綴 DESC 降序,ASC 升序(默認) RS.CursorLocation = adUseClient RS.Open SQLstr, DB '這樣沒有Update許可權 If RS.RecordCount > 0 Then'這種方式可以取得記錄條數,你可以利用這個RS.RecordCount做些其他事情,我這個代碼只是因為我只要第一條數據 Text = RS.Fields("SID").Value'取出一條記錄中需要的列的數據 else '無記錄 endif If RS.State = 1 Then RS.Close'使用完後記得關閉 Set RS = Nothing '使用完後記得關閉 以上的數據記錄集操作都要求事先執行了 DB.Open,保證資料庫已經成功打開連接。所以操作數據記錄集之前你最好判斷一下資料庫連接狀態 If DB.State = 1 Then '若資料庫已連接,組織查詢數據 其他的刪除,增加,編輯之類的功能在提交數據記錄不太頻繁時,你可以直接使用SQL語句解析來完成,這樣簡便些。 SQLstr = "update [mytab] set sid ='0' WHERE sid ='1'" DB.Execute SQLstr '直接更新記錄 這只是其中一部分常用的功能的操作方式,這個方式採用SQL語法為核心,操作資料庫比直接使用VB提供的DATA控制項來的快,只是代碼稍微多點點而已。需要更復雜的操作你可以多搜搜網上的資料,實在沒轍你也可以QQ我。
『陸』 sql操作符丟失怎麼辦(一個班級通訊錄的程序)
sql "select StuNo as學號,StuName as 姓名,Sex as 性別,Class as 班級,Birthday as 出生日期,Postalcode as 郵政編碼,Address as 家庭住址,Class as 班級,Tel as 電話,email as 電子郵箱 *From Usermsinfo where 1=1"
from前面的*多餘了
『柒』 求SQL代碼 把張三加入通訊錄 獲取ID後 把這個ID 加入性別男的表裡
--建了兩個表,Test_User和Test_Sex
--Test_user只有兩個欄位,ID和userName,id是自增列
--text_sex只有兩個欄位,ID_User和Sex,ID_User存的就是Text_user的id
--@@IDENTITY最近一次的自增ID
insertintoTest_Uservalues('張三')
insertintoTest_Sexvalues(@@IDENTITY,0)
『捌』 ASP+SQL創建一個通訊錄
ASP與資料庫應用(給初學者)
--------------------
見最近許多網友詢問一些關於資料庫操作的基礎問題,現把我以前寫的一篇簡單教程貼上來,好讓一些初學者最快的入門:
ASP與資料庫應用(給初學者)
一般來說,一個真正的、完整的站點是離不開資料庫的,因為實際應用中,需要保存的數據很多,而且這些數據之間往往還有關聯,利用資料庫來管理這些數據,可以很方便的查詢和更新。資料庫有很多種,如:Fox 資料庫(.dbf)、Access 資料庫(.mdb)、Informix、Oracle 和 SQL Server 等等,在這里,我將以 Microsoft Access 資料庫為例來說明ASP是如何訪問資料庫的。
常用資料庫語句
1.Select 語句:命令資料庫引擎從資料庫里返回信息,作為一組記錄。
2.Insert INTO 語句:添加一個或多個記錄至一個表。
3.Update 語句:創建更新查詢來改變基於特定準則的指定表中的欄位值。
4.Delete 語句:創建一個刪除查詢把記錄從 FROM 子句列出並符合 Where 子句的一個或更多的表中清除。
5.EXECUTE 語句:用於激活 PROCEDURE(過程)
用 ASP 來做一個自己的通訊錄練練手吧……
一、建立資料庫:
用 Microsoft Access 建立一個名為 data.mdb 的空資料庫,使用設計器創建一個新表。輸入以下幾個欄位:
欄位名稱 數據類型 說明 其它
ID 自動編號 數據標識 欄位大小:長整型 新值:遞增 索引:有(無重復)
username 文本 姓名 預設值
usermail 文本 E-mail 預設值
view 數字 查看次數 欄位大小:長整型 默認值:0 索引:無
indate 時間日期 加入時間 預設值
保存為 data.mdb 文件,為了便於說明,只是做了一個比較簡單的庫。
二、連接資料庫
方法1:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")
方法2:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("data.mdb")
注意:一個頁面中,只要連接一次就可以了,資料庫使用完後要及時關閉連接。
conn.Close
Set conn = Nothing
三、添加新記錄到資料庫
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")
username = "風雲突變"
usermail = "[email protected]"
indate = Now()
sql = "insert into data (username,usermail,indata) values('"&username&"','"&usermail&"','"&indate&"')"
conn.Execute(sql)
conn.Close
Set conn = Nothing
說明:建立資料庫連接;通過表單獲取姓名、E-mail 字元串,Now()獲取當前時間日期;使用 insert into 語句添加新記錄;conn.Execute 來執行;最後關閉。
四、選擇資料庫里的記錄
1.選擇所有記錄的欄位(按記錄倒序排序):sql = "select * from data order by ID desc"
2.選擇所有記錄的姓名和E-mail欄位(不排序):sql = "select username,usermail from data"
3.選擇姓名為「風雲突變」的所有記錄:sql = "select * from data where username='"風雲突變"'"
4.選擇使用 163 信箱的所有記錄(按查看次數排序):sql = "select * from data where usermail like '%"@163.com"%' order by view desc"
5.選擇最新的10個記錄:sql = "select top 10 * from data order by ID desc"
SQL 語句已經知道了,不過在Web應用時,還得創建一個 RecordSet 對象得到記錄集,才能把從資料庫里取出的值應用在網頁上,如果現在將所有的記錄顯示在網頁上就這樣:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")
sql = "select * from data"
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql,conn,1,1
Do While Not rs.Eof
Response.Write "<p>姓名:"& rs("username") &" E-mail:"& rs("usermail") &" 查看:"& rs("view") &"次 "& rs("indate") &"加入</p>"
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
說明:建立資料庫連接;創建 rs 得到記錄集;循環顯示記錄,rs.Eof 表示記錄末,rs.MoveNext 表示移到下一個記錄;最後關閉。
五、修改(更新)資料庫記錄
修改記錄的E-mail:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")
ID = 1
usermail = "[email protected]"
sql = "update data set usermail='"&usermail&"' where ID="&CInt(ID)
conn.Execute(sql)
conn.Close
Set conn = Nothing
說明:建立資料庫連接;獲取記錄ID、新 E-mail 字元串;使用 update 語句修改記錄;conn.Execute 來執行;最後關閉。
如果使記錄的查看值加1,則:sql = "update data set view=view+1 where ID="&CInt(ID)
六、刪除資料庫記錄
刪除某一條記錄:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")
ID = 1
sql = "delete from data where ID="&CInt(ID)
conn.Execute(sql)
conn.Close
Set conn = Nothing
說明:建立資料庫連接;獲取記錄ID;使用 delete 語句刪除記錄;conn.Execute 來執行;最後關閉。
刪除多條記錄為:sql = "delete from data where ID in (ID1,ID2,ID3)"
刪除所有記錄為:sql = "delete from data"
『玖』 能夠創建通訊錄表結構的sql語句是
創建表結構
表名: ODS_PSP_DIS_DAY_CALC
create table ODS_PSP_DIS_DAY_CALC
(
ID CHAR(32) NOT NULL,
DISTLIN_ID VARCHAR2(36) NOT NULL,
CALC_DATE DATE,
DISTLINE_NAME VARCHAR2(512),
DISTINE_NO VARCHAR2(100),
INPUT FLOAT,
LINK_TRAN_COUNT NUMBER(6),
ORG_NAME VARCHAR2(200)
);
comment on table ODS_PSP_DIS_DAY_CALC
is '計算結果ODS';
comment on column ODS_PSP_DIS_DAY_CALC .ID
is'唯一標識';
comment on column ODS_PSP_DIS_DAY_CALC .DISTLIN_ID
is '配線的標識';
comment on column ODS_PSP_DIS_DAY_CALC .CALC_DATE
is '日期';
comment on column ODS_PSP_DIS_DAY_CALC .DISTLINE_NAME
is '配電線路名稱';
comment on column ODS_PSP_DIS_DAY_CALC .DISTINE_NO
is '配電線路編碼';
comment on column ODS_PSP_DIS_DAY_CALC .INPUT
is ' 輸入電量(kWh)';
comment on column ODS_PSP_DIS_DAY_CALC .LINK_TRAN_COUNT
is '專變數量';
comment on column ODS_PSP_DIS_DAY_CALC .ORG_NAME
is '單位名稱';
alter table ODS_PSP_DIS_DAY_CALC add constraint XPK_ODS_PSP_DIS_DAY_CALC primary key(ID) using index;
create index IDX_ODS_PSP_DIS_DAY_CALC on ODS_PSP_DIS_DAY_CALC (CALC_DATE);
『拾』 用sql語句創建一個通訊錄管理系統怎麼做要求可以增刪查改和撥號,有家人,同學,朋友三個分組,緊急
java連接資料庫,你可以用一些框架,比如hibernate,iBATIS等,這樣方便一點,否則你就用JDBC吧,自己寫sql語句:JDBC連接資料庫•創建一個以JDBC連接資料庫的程序,包含7個步驟:1、載入JDBC驅動程序:在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),這通過java.lang.Class類的靜態方法forName(StringclassName)實現。例如:try{//載入MySql的驅動類Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundExceptione){System.out.println("找不到驅動程序類,載入驅動失敗!");e.printStackTrace();}成功載入後,會將Driver類的實例注冊到DriverManager類中。2、提供JDBC連接的URL•連接URL定義了連接資料庫時的協議、子協議、數據源標識。•書寫形式:協議:子協議:數據源標識協議:在JDBC中總是以jdbc開始子協議:是橋連接的驅動程序或是資料庫管理系統名稱。數據源標識:標記找到資料庫來源的地址與連接埠。例如:(MySql的連接URL)jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk;useUnicode=true:表示使用Unicode字元集。如果characterEncoding設置為gb2312或GBK,本參數必須設置為true。characterEncoding=gbk:字元編碼方式。3、創建資料庫的連接•要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象,該對象就代表一個資料庫的連接。•使用DriverManager的getConnectin(Stringurl,Stringusername,Stringpassword)方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和密碼來獲得。例如://連接MySql資料庫,用戶名和密碼都是rootStringurl="jdbc:mysql://localhost:3306/test";Stringusername="root";Stringpassword="root";try{Connectioncon=DriverManager.getConnection(url,username,password);}catch(SQLExceptionse){System.out.println("資料庫連接失敗!");se.printStackTrace();}4、創建一個Statement•要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3種類型:1、執行靜態SQL語句。通常通過Statement實例實現。2、執行動態SQL語句。通常通過PreparedStatement實例實現。3、執行資料庫存儲過程。通常通過CallableStatement實例實現。具體的實現方式:Statementstmt=con.createStatement();PreparedStatementpstmt=con.prepareStatement(sql);CallableStatementcstmt=con.prepareCall("{CALLdemoSp(?,?)}");5、執行SQL語句Statement介面提供了三種執行SQL語句的方法:executeQuery、executeUpdate和execute1、ResultSetexecuteQuery(StringsqlString):執行查詢資料庫的SQL語句,返回一個結果集(ResultSet)對象。2、intexecuteUpdate(StringsqlString):用於執行INSERT、UPDATE或DELETE語句以及SQLDDL語句,如:CREATETABLE和DROPTABLE等3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的語句。具體實現的代碼:ResultSetrs=stmt.executeQuery("SELECT*FROM");introws=stmt.executeUpdate("INSERTINTO");booleanflag=stmt.execute(Stringsql);6、處理結果兩種情況:1、執行更新返回的是本次操作影響到的記錄數。2、執行查詢返回的結果是一個ResultSet對象。•ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些行中數據的訪問。•使用結果集(ResultSet)對象的訪問方法獲取數據:while(rs.next()){Stringname=rs.getString("name");Stringpass=rs.getString(1);//此方法比較高效}(列是從左到右編號的,並且從列1開始)7、關閉JDBC對象操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲明順序相反:1、關閉記錄集2、關閉聲明3、關閉連接對象if(rs!=null){//關閉記錄集try{rs.close();}catch(SQLExceptione){e.printStackTrace();}}if(stmt!=null){//關閉聲明try{stmt.close();}catch(SQLExceptione){e.printStackTrace();}}if(conn!=null){//關閉連接對象try{conn.close();}catch(SQLExceptione){e.printStackTrace();}}