導航:首頁 > 文件管理 > nhibernate配置文件

nhibernate配置文件

發布時間:2023-01-18 01:49:30

『壹』 如何使用Nhibernate動態連接Oracle資料庫

關於如何使用Nhibernate配置連接其支持的數據源,網上一些相關的文檔已經詳細作了說明,同時在其2.0幫助文檔中也有相關的描述。一般常用的有兩種方式:

一、使用配置文件nfig)連接資料庫

下面以使用Nhibernate2.2連接Oracle10資料庫為例,給出連接配置信息如下:

<configSections>

<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />

</configSections>

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">

<session-factory name="NHibernate.Test">

<property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>

<property name="nnection_string">User ID=hzga;Password=hzga;Data Source=orcl;Persist Security Info=True;</property>

<property name="show_sql">false</property>

<property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>

<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>

<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>

</session-factory>

</hibernate-configuration>

二、通過提供一個IDictionary實例連接資料庫

下面還是以使用Nhibernate2.2連接Oracle10資料庫為例,給出連接配置信息如下:

cfg = new Configuration();

IDictionary<string, string> connProps = new Dictionary<string, string>();

connProps.Add("connection.driver_class", "NHibernate.Driver.OracleClientDriver");

connProps.Add("nnection_string", "User ID=hzga;Password=hzga;Data Source=orcl;Persist Security Info=True;");

connProps.Add("query.substitutions", "true 1, false 0, yes 'Y', no 'N'");

connProps.Add("dialect", "NHibernate.Dialect.Oracle10gDialect");

connProps.Add("proxyfactory.factory_class", "NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu");

cfg.SetProperties(connProps);

cfg.AddAssembly(AssemblyName);

sessions = cfg.BuildSessionFactory();

三、如何使用Nhibernate動態直接連接Oracle資料庫

上述兩種方式都可以成功連接到Oracle資料庫,但是前提條件是運行程序時需要安裝Oracle客戶端。在程序發布部署的時候安裝Oracle客戶端是一件非常麻煩的事件,那麼有沒有一種比較好的方法可以直接連接Oracle資料庫,同時又不必安裝Oracle客戶端呢。

答案是肯定的,下面提供兩種方式直接連接Oracle資料庫:

1、通過OleDB和Oracle公司的驅動

cfg = new Configuration();

IDictionary<string, string> connProps = new Dictionary<string, string>();

connProps.Add("connection.driver_class", "NHibernate.Driver.OleDbDriver");

connProps.Add("nnection_string", "Provider=OraOLEDB.Oracle.1;User ID=hzga;Password=hzga;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.148)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))");

connProps.Add("query.substitutions", "true 1, false 0, yes 'Y', no 'N'");

connProps.Add("dialect", "NHibernate.Dialect.Oracle10gDialect");

connProps.Add("proxyfactory.factory_class", "NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu");

cfg.SetProperties(connProps);

cfg.AddAssembly(AssemblyName);

sessions = cfg.BuildSessionFactory();

2、通過OLEDB和微軟公司的Oracle驅動

cfg = new Configuration();

IDictionary<string, string> connProps = new Dictionary<string, string>();

connProps.Add("connection.driver_class", "NHibernate.Driver.OleDbDriver");

connProps.Add("nnection_string", " Provider=MSDAORA.1;User ID=lportal;Password=lportal;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = zhbrserver)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))");

connProps.Add("query.substitutions", "true 1, false 0, yes 'Y', no 'N'");

connProps.Add("dialect", "NHibernate.Dialect.Oracle10gDialect");

connProps.Add("proxyfactory.factory_class", "NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu");

cfg.SetProperties(connProps);

cfg.AddAssembly(AssemblyName);

sessions = cfg.BuildSessionFactory();

『貳』 NHibernate 連接多資料庫怎麼配置

sqlserver資料庫連接放在配置文件中,只是針對外部程序訪問sqlserver的場景,幾種不同連接方式(odbc,ef,nhibernate,mybitas,等等),連接字元串也有所不同,你在網上搜一下,sqlserver連接字元串格式就知道了,配置文件的話,分2種,一種是建立項目時自帶的config文件,這種文件的讀寫訪問.net自己就有方法支持,文件格式和對應節點的說明也很詳細;自己建立一個配置文件(可以是txt,xml等,格式可以自己控制,不過需要自己去編寫相應的讀寫方法);
上面2種方式,各有優劣,第1種,使用系統自帶的配置文件,操作方便,但是這個文件有個要注意的地方,就是它一般是在系統啟動時去載入文件信息,在程序運行過程中,修改了配置文件的值,需要下次重啟軟體才會生效。
不過一般資料庫連接字元串這種,在程序運行過程中,變化的幾率小,直接用自帶config文件就可以滿足需求

『叄』 NHibernate中Session的處理

NHibernate中Session是線程不安全的 而且每次資料庫操作請求創建Session時對性能有些影響 在Windows應用中可以通過 [ThreadStatic]特性很簡單的就可以實現線程安全 而在Web中可以通過將Session與用於請求HttpContext綁定實現線程安全 並且用戶當前請求時只有一個Session 代碼如下

ISessionManage cs

using System;using NHibernate;

namespace Commercial Jwsoft Framework Persistence SessionManage{ /// <summary> /// 功能 主要用於封裝第三方類庫操作資料庫的Session類 現主要用於封裝NHibernate中的Session /// </summary> public interface ISessionManage { /// <summary> /// 獲取Session的一個實例 /// </summary> /// <returns>返回實現NHibernate ISession介面的類</returns> ISession Get();

/// <summary> /// 設置Session的一個實例 /// </summary> /// <param name= session >實現NHibernate ISession介面的類</param> void Set(ISession session); }}

--------------------------------------------

WebNHSession cs

using System;using System Web;using NHibernate;

namespace Commercial Jwsoft Framework Persistence SessionManage{ /// <summary> /// 功能 此類用於Web應用 NHibernate提供的Session有兩個缺陷 /// 一方面是線程不安全的 另一方面每次資料庫操作創建一個Session對程序性能有影響 /// 因此通過將Session綁定到HttpContext上 這樣每個用戶具有唯一的一個Session 而且 /// 在用戶的請求結束後關閉Session並自己釋放掉 /// </summary> public class WebNHSession : ISessionManage { public WebNHSession() {

}

/// <summary> /// 獲取存儲到HttpContext中的實現NHibernate ISession介面的類實例 /// </summary> /// <returns>實現NHibernate ISession介面的類實例 當用戶之前沒有調用Set方法會返回Null</returns> public ISession Get() { return (ISession)HttpContext Current Items[SessionConfigManage SessionSourceItemName]; }

/// <summary> /// 存儲實現NHibernate ISession介面的類實例到HttpContext中 /// </summary> /// <param name= session >實現NHibernate ISession介面的類實例</param> public void Set(ISession session) { if (session != null) { HttpContext Current Items Add(SessionConfigManage SessionSourceItemName session); } else { HttpContext Current Items Remove(SessionConfigManage SessionSourceItemName); } } }}---------------------------------------------

WinFormNHSession cs

using System;using NHibernate;

namespace Commercial Jwsoft Framework Persistence SessionManage{ /// <summary> /// 功能 此類用於Windows應用 NHibernate提供的Session有兩個缺陷 /// 一方面是線程不安全的 另一方面每次資料庫操作創建一個Session對程序性能有影響 /// 因此通過線程變數獲取一個NHibernate Session的多個線程安全的實例 而且線程變數使用後即釋放掉 /// </summary> public class WinFormNHSession : ISessionManage { [ThreadStatic] private static ISession _threadSession = null;

public WinFormNHSession() { }

/// <summary> /// 獲取存儲到線程變數中的實現NHibernate ISession介面的類實例 /// </summary> /// <returns>實現NHibernate ISession介面的線程安全的類實例 當用戶之前沒有調用Set方法會返回Null</returns> public ISession Get() { if (_threadSession != null) { if (_threadSession IsConnected) { _threadSession Reconnect(); } } return _threadSession; }

/// <summary> /// 存儲實現NHibernate ISession介面的類實例到線程變數中 /// </summary> /// <param name= session >實現NHibernate ISession介面的類實例</param> public void Set(ISession session) { if (_threadSession IsConnected) { session Disconnect(); } _threadSession = session; } }}

SessionFactory cs

using System;using System Runtime Remoting;using NHibernate;

namespace Commercial Jwsoft Framework Persistence SessionManage{ /// <summary> /// 功能 管理多個實現ISessionManage介面的類工廠 根據讀取的要載入的類名稱信息 進行動態的創建Session /// </summary> public class SessionFactory { private static ISession session = null; private static ISessionManage sessionManage = null; static SessionFactory() { Init(); }

/// <summary> /// 獲取實現NHibernate ISession介面的Session實例 /// </summary> /// <returns>返回實現NHibernate ISession介面的類實例</returns> public static ISession GetSession() { session = sessionManage Get(); if (session == null) { session = NHibernateSession GetNHibernateSession(); sessionManage Set(session); }

return session; }

private static void Init() { System Reflection Assembly ass = System Reflection Assembly Load(SessionConfigManage AssemblyName); sessionManage = (ISessionManage)ass CreateInstance(SessionConfigManage SessionSourceItemName); } }}----------------------------------------------

NHibernateSession cs

using System;using System Data;using System Collections Generic;using System Text;using NHibernate;using NHibernate Cfg;

namespace Commercial Jwsoft Framework Persistence SessionManage{ /// <summary> /// 功能 載入嵌入資源(Xml配置文件) 打開一個SessionFactory 獲取NHibernate的Session實例 /// </summary> public class NHibernateSession { private static Configuration cfg = null; private static ISessionFactory sessionFactory = null;

static NHibernateSession() { cfg = new Configuration() Configure(); sessionFactory = cfg BuildSessionFactory(); }

/// <summary> /// 獲取NHibernate的Session實例 /// </summary> /// <returns></returns> public static ISession GetNHibernateSession() { return sessionFactory OpenSession(); } }}---------------------------------------------

SessionConfigManage cs

using System;using System Collections Generic;using System Text;using System Configuration;

namespace Commercial Jwsoft Framework Persistence SessionManage{ /// <summary> /// 功能 根據類庫的應用環境不同(Windows應用還是Web應用) 動態創建類實例 /// 日期 /// 作者 郭少宏 /// </summary> public class SessionConfigManage { private const string SESSION_ITEM_NAME = SessionItemName ; private static object _locker = new object(); private static string _sessionItemName = string Empty; private static string _assemblyName = string Empty;

static SessionConfigManage() { string configString = ConfigurationManager AppSettings[SESSION_ITEM_NAME]; string[] arr = configString Split( ); _sessionItemName = arr[ ]; _assemblyName = arr[ ]; } /// <summary> /// 獲取配置文件中名為SESSION_ITEM_NAME配置節的信息 記錄的要載入的SessionManage的類全稱 /// </summary> /// <returns>實現ISessionManage介面的類的名稱</returns> public static string SessionSourceItemName { get { lock (_locker) { return _sessionItemName; } } }

/// <summary> /// 獲取配置文件中名為SESSION_ITEM_NAME配置節的信息 記錄的要載入的SessionManage的類全稱 /// </summary> /// <returns>實現ISessionManage介面的類的程序集名稱</returns> public static string AssemblyName { get { lock (_locker) { return _assemblyName; } } } }}

在Web Config文件中的配置節如下

<appSettings> <! > <! 在Web應用中載入的獲取Session的類名稱 > <add key= SessionItemName value= Commercial Jwsoft Framework Persistence SessionManage WebNHSession JWFramework /> <! 在Windows應用中載入的獲取Session的類名稱 > <! <add key= SessionItemName value= Commercial Jwsoft Framework Persistence SessionManage WinFormNHSession JWFramework /> > </appSettings>

在Global asax中添加如下代碼

/// <summary> /// 當用戶斷開請求時用來關閉用戶請求的Session的連接 /// </summary> /// <param name= sender ></param> /// <param name= e ></param> void Session_End(object sender EventArgs e) { NHibernate ISession session = Commercial Jwsoft Framework Persistence SessionManage SessionFactory GetSession(); if (session != null) { session Close(); }

lishixin/Article/program/net/201311/13675

『肆』 Nhibernate 用 App.Config 配置 出錯

應該不是配置文件問題,而是你的NHibernate安裝問題,缺少某個文件,或者該文件的許可權由問題

『伍』 NHibernate配置文件寫法

NHibernate的聯合主鍵
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
<class name="RG.SuperStarSystem.Accounts.Data.JJDepartments,RG.SuperStarSystem.Accounts.Data"
table="PersonManager_JJDepartments">
<composite-id>
<key-property name="ID" column="ID" type="String" length="2" />
<key-property name="MainJJDepartmentID" column="MainJJDepartmentID" type="String" length="2" />
</composite-id>
<property name="Name" column="Name" type="String" length="40"></property>
<property name="SimpleName" column="SimpleName" type="String" length="6"></property>
<property name="Description" column="Description" type="String" length="50"></property>
</class>
</hibernate-mapping>
基本寫法
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
<class name="NHibernate.Examples.QuickStart.User, NHibernate.Examples" table="users">
<id name="Id" column="LogonId" type="String" length="20">
<generator class="assigned" />
</id>
<property name="UserName" column= "Name" type="String" length="40"/>
<property name="Password" type="String" length="20"/>
<property name="EmailAddress" type="String" length="40"/>
<property name="LastLogon" type="DateTime"/>
</class>

</hibernate-mapping>

『陸』 用Nhibernate怎麼實現數據的添加,刪除,修改簡單程序

一、創建資料庫
資料庫名:Nhibernate
use NHibernate
go
CREATE TABLE users (
LogonID nvarchar(20) NOT NULL default '0',
Name nvarchar(40) default NULL,
Password nvarchar(20) default NULL,
EmailAddress nvarchar(40) default NULL,
PRIMARY KEY (LogonID)
)
go
數據表:users

二、總體介紹
項目名:WebNhibernate
界面:WebForm.aspx
具體表現文件:WebForm.aspx.cs
實體類文件:EntityClass.cs
映射文件:Userhbm.xml
配置文件:Web.config

三、創建Web界面
類型
對象名
Text屬性值
Label
Label1
ID:
Label
Label2
姓名:
Label
Label3
密碼
Label
Label4
Email:
Label
Labmessage

TextBox
TxtId

TextBox
TxtName

TextBox
TxtPassword

TextBox
TxtEmail

Button
ButSave
添加
Button
ButDel
刪除
Button
ButUpdata
修改

四、創建映射文件(xml文件)和實體類
實體類
using System;
namespace WebNhibernate
{
public class EntityClass
{
private string id;
private string userName;
private string password;
private string emailAddress;
public EntityClass()
{}
public string Id
{
get { return id; }
set { id = value; }
}
public string UserName
{
get { return userName; }
set { userName = value; }
}
public string Password
{
get { return password; }
set { password = value; }
}
public string EmailAddress
{
get { return emailAddress; }
set { emailAddress = value; }
}
}
}
映射文件:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
<class name="WebNhibernate.EntityClass, WebNhibernate" table="users">
<id name="Id" column="LogonId" type="String" length="20">
<generator class="assigned" />
</id>
<property name="UserName" column= "Name" type="string" length="40"/>
<property name="Password" type="string" length="20"/>
<property name="EmailAddress" type="String" length="40"/>
</class>
</hibernate-mapping>
注意點:
1.<class name="WebNhibernate.EntityClass, WebNhibernate" table="users">
WebNhibernate.EntityClass代表:實體類名
WebNhibernate代表:該項目的裝配集名稱
Users代表:數據表名
2.當屬性列表<property name=」」 column=」」/>中既有name和column說明實體層的屬性與數據表的欄位名不同名
3.指定一個id, 在數據表中就是主鍵, 這個非常重要,nhibernate就是通過id來判斷對象的唯一性的.

五、在配置文件中添加配置內容
1.首先在配置文件的<configuration>代碼下面添加如下代碼
<configSections>
<section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
這一段代碼是必須要的
2.在配置文件的</system.web>代碼下面添加如下代碼
<nhibernate>
<!—連接數據提供者 -->
<add
key="hibernate.connection.provider"
value="NHibernate.Connection.DriverConnectionProvider"
/>
<!—連接數據方言最常用的是MsSql2000Dialect -->
<add
key="hibernate.dialect"
value="NHibernate.Dialect.MsSql2000Dialect"
/>
<!—連接數據驅動類-->
<add
key="hibernate.connection.driver_class"
value="NHibernate.Driver.SqlClientDriver"
/>
<!—連接資料庫-->
<add
key="hibernate.connection.connection_string"
value="Server=yanfa1;initial catalog=nhibernate;User id=sa;password=8626798;"
/>
</nhibernate>

六、實現代碼
首先在文件頭添加代碼
using NHibernate;
using NHibernate.Cfg;
1.添加數據:
雙擊「添加「按鈕
private void ButSave_Click(object sender, System.EventArgs e)
{
mCfg=new Configuration();//創建配置類
mCfg.AddXmlFile (System.Web.HttpContext.Current.Server.MapPath("Userhbm.xml"));//指明映射文件Userhbm.xml
EntityClass vEntity=new EntityClass();
vEntity.Id=TxtId.Text;
vEntity.UserName=TxtName.Text;
vEntity.Password=TxtPassword.Text;
vEntity.EmailAddress=TxtEmail.Text;
ISession vSession= mCfg.BuildSessionFactory().OpenSession();//創建會話工廠, 一般來說應該使用一個單例對象來封裝會話工廠.
ITransaction vTransaction = vSession.BeginTransaction();//創建事物處理
try
{
vSession.Save(vEntity);//向資料庫添加數據
vTransaction.Commit();
Labmessage.Text="OK";
}
catch(Exception ex)
{
vTransaction.Rollback();
Labmessage.Text="Error"+ex.ToString();
}
finally
{
vSession.Close();
}
}

2.刪除數據:
雙擊「刪除「按鈕
private void ButDel_Click(object sender, System.EventArgs e)
{
mCfg=new Configuration();
mCfg.AddXmlFile (System.Web.HttpContext.Current.Server.MapPath("Userhbm.xml"));
ISession vSession= mCfg.BuildSessionFactory().OpenSession();
ITransaction vTransaction = vSession.BeginTransaction();
try
{
EntityClass vEntity=(EntityClass) vSession.Load(typeof(EntityClass),TxtId.Text);//查找數據表中所要記錄
vSession.Delete(vEntity);//向資料庫刪除數據
vTransaction.Commit();
Labmessage.Text="OK";
}
catch(Exception ex)
{
vTransaction.Rollback();
Labmessage.Text="Error";
}
finally
{
vSession.Close();
}
}

3.修改代碼:
雙擊「修改「按鈕
private void ButUpdata_Click(object sender, System.EventArgs e)
{
mCfg=new Configuration();
mCfg.AddXmlFile (System.Web.HttpContext.Current.Server.MapPath("Userhbm.xml"));
ISession vSession= mCfg.BuildSessionFactory().OpenSession();
ITransaction vTransaction = vSession.BeginTransaction();
try
{
EntityClass vEntity=(EntityClass) vSession.Load(typeof(EntityClass),TxtId.Text);
vEntity.UserName=TxtName.Text;
vEntity.Password=TxtPassword.Text;
vEntity.EmailAddress=TxtEmail.Text;
vSession.Update(vEntity); //向資料庫修改數據
vTransaction.Commit();
Labmessage.Text="OK";
}
catch(Exception ex)
{
vTransaction.Rollback();
Labmessage.Text="Error";
}
finally
{
vSession.Close();
}
}

『柒』 NHibernate配置文件的問題

老大有你這么寫滴?
<mapping assembly="Person.hbm.xml"/>這個是添加映射程序集用的,你把xml搞在這里做什麼?
這里寫上你的Person.hbm.xml文件所在的程序集名稱;
然後把Person.hbm.xml這個文件的屬性設置為嵌入式始終復制就行了

『捌』 NHibernate 配置文件上的連接池是怎麼配置的(app.config),主要是處理並發數據 急~~~~~

<add key="hibernate.connection.connection_string" value="server=.;database=testdb;uid=testsa;pwd=123456;Min Pool Size=20;Max Pool Size=60" />
Min Pool Size: 最小允許 Max Pool Size:最大允許

『玖』 nhibernate多個資料庫hbm.xml,cfg.xml該怎麼配置

1、MYSQL5 資料庫
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory name="NHibernate.Test">
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property>
<property name="connection.connection_string">Server=192.168.0.2;Port=3306;Database=SampeDataBase;User ID=root;Password=root;CharSet=utf8</property>
<property name="dialect">NHibernate.Dialect.MySQL5Dialect</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
<property name="hbm2ddl.keywords">none</property>
<mapping assembly="XXXX.Infrastructure.Entities"/>
</session-factory>
</hibernate-configuration>

尤其要強調的是 <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
在數據表設計中如果採用了 bit 類型的欄位,並且對應了業務類中類型為 bool 值,一定要如上設置下。

2、MSSQL 資料庫
<?xml version="1.0" encoding="utf-8"?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
<session-factory name="NHibernate.Test">
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="connection.connection_string">
Data Source=192.168.0.2,1433;Initial Catalog=SampeDataBase;
Integrated Security=False;User Id=sa;Password=;
</property>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
<property name="proxyfactory.factory_class"> NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
<mapping assembly="XXXX.Infrastructure.Entities"/>
</session-factory>
</hibernate-configuration>

mssql 不同的版本有時需要修改下屬性 dialect (方言)
上面是 ms sql 2005 的配置,在使用 sql 2000 時有方法會出錯(比如分頁)

ms sql 2000 的配置
<property name="dialect">NHibernate.Dialect.MsSql2000Dialect</property>

閱讀全文

與nhibernate配置文件相關的資料

熱點內容
怎麼編程搜狗指南 瀏覽:155
代聊微信號 瀏覽:623
linux切換用戶執行腳本 瀏覽:841
局內人未刪減版本 瀏覽:159
app計步器軟體如何同步支付寶 瀏覽:979
iPhone516g升級ios9 瀏覽:744
iphone修改名稱 瀏覽:843
win10開啟藍光護眼 瀏覽:745
如何網路共享掃描儀 瀏覽:19
聯盟28級去哪裡升級好 瀏覽:687
電腦不能網路連接 瀏覽:651
現場監理文件多少卷 瀏覽:807
vbnet同步資料庫 瀏覽:314
招商銀行app在哪裡查銀行狀態 瀏覽:124
除了沙發管家還有什麼app 瀏覽:44
蘋果怎麼更改安裝包文件夾 瀏覽:892
40歲以上看什麼app 瀏覽:758
手機網路怎麼這么卡 瀏覽:270
jstab定位 瀏覽:925
win10有產品密匙 瀏覽:971

友情鏈接