qin資料庫
❶ android 資料庫怎麼監聽數據變化
在android中經常會用到改變資料庫內容後再去使用資料庫更新的內容,很多人會重新去query一遍,但是這樣的問題就是程序會特別占內存,而且有可能會摟關cursor而導致程序內存未釋放等等。其實android內部提供了一種ContentObserver的東西來監聽資料庫內容的變化。
ContentObserver的構造函數需要一個參數Hanlder,因為ContentObserver內部使用了一個實現Runnable介面的內部類NotificationRunnable,來實現資料庫內容的變化。需要使用hanlder去post消息。注冊ContentObserver的方法是:getContentResolver().registerContentObserver(uri, notifyForDescendents, observer).
上面3個參數為:uri----Uri類型,是需要監聽的資料庫的uri.
notifyForDescendents---boolean true的話就會監聽所有與此uri相關的uri。false的話則是直接特殊的uri才會監聽。一般都設置為true.
observer-----ContentObserver 就是需要的contentobserver.
初始化一個ContentObserver對象,重載onChange(boolean ),在這個方法里去操作資料庫的使用,針對變化後的使用。
❷ C#如何操作sql 資料庫
1、分離資料庫
exec
sp_detach_db
dataname
eg:
dataname:要分離的資料庫名
2.將資料庫一下即可備份
3、在附加資料庫
1.exec
sp_attach_single_file_db
newdataname,mdfPath
eg:
newdataname:要附加上的新資料庫名稱(可以是原來的)
mdfPath='C:/Program
Files/Microsoft
SQL
Server/MSSQL/Data/11_Data.MDF'
2.exec
sp_attach_db
newdataname,mdfPath,ldfPath
eg:
mdfPath='C:/Program
Files/Microsoft
SQL
Server/MSSQL/Data/11_Data.MDF'
ldfPath='C:/Program
Files/Microsoft
SQL
Server/MSSQL/Data/11_Log.LDF'
備注:不能操作本資料庫
eg:
string
DataName="aaa";
string
strMdf="D://test1//test//Test_Data.MDF";
string
strLdf="D://test1//test//Test_Log.LDF";
string
strsql
=
"EXEC
sp_attach_db
@dbname
=
'"+
DataName
+"',
@filename1='"+
strMdf
+"',
@filename2=
'"+strLdf+"'";
SqlConnection
myConn
=
new
SqlConnection("Data
Source=HUIQIN;Database=master;Persist
Security
Info=True;
UserID=sa;Password=sa");
SqlCommand
myCommand
=
new
SqlCommand(strsql,
myConn);
myConn.Open();
myCommand.ExecuteNonQuery();
myConn.Close();
❸ python3怎麼導入mysql
python3發布以來,獲取了廣大程序員們的差評,說不穩定,又是不兼容什麼的,不過差評歸差評,python3既然已經發布,肯定是個趨勢,但在python3.4裡面,使用原來python2.7的mysqldb已經不能連接mysql資料庫了,比較令人糾結,不過我們可以使用pymysql,來完成連接mysql的重任,步驟如下:
序號描述
1去github上下載pymysql的安裝包 pymysql
2解壓到某個盤符下
3打開cmd窗口(win環境下),進入pymysql的根目錄下執行命令,python setup.py install4在程序里,導入pymysql
5開始連接資料庫
資料庫操作的API文檔連接: http//legacy.python.org/dev/peps/pep-0249/代碼如下:
__author__ = 'qindongliang'
#導入pymysql的包
import pymysql
try:
#獲取一個資料庫連接,注意如果是UTF-8類型的,需要制定資料庫conn=pymysql.connect(host='localhost',user='root',passwd='qin',db='person',port=3306,charset='utf8')cur=conn.cursor()#獲取一個游標
cur.execute('select * from person')
data=cur.fetchall()
for d in data :
#注意int類型需要使用str函數轉義
print("ID: "+str(d[0])+' 名字: '+d[1]+" 性別: "+d[2])cur.close()#關閉游標
conn.close()#釋放資料庫資源
except Exception :print("發生異常")
結果如下:
D:\python\python.exe D:/pythonide/pythonprojectworkspace/python/mysql.pyID: 1 名字: 秦天 性別: 男
ID: 2 名字: 王晶 性別: 女
Process finished with exit code 0
❹ servlet中連接資料庫問題: exception java.lang.NullPointerException
樓主你把連接資料庫寫成構造器的形式,認為可以每次執行時都會連接,所以不在具體查詢方法裡面再做資料庫的connection操作,這個方式顯然發生錯誤了,建議不寫成默認構造的形式。具體改法可以照我的例子改:
private static final String DRIVER="com.mysql.jdbc.Driver";
private static final String URL="jdbc:mysql://localhost:8080/useToVote";
private static final String USER="root";
private static final String PWD="qinx";
public Connection getConnection(){
Connection conn=null;
try {
Class.forName(DRIVER);
conn=DriverManager.getConnection(URL,USER,PWD);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
然後在查詢的GetResulte方法裡面先加入conn=getConnection();開啟連接,再繼續往下。注意最後要關閉連接哦!希望對你有所幫助。