當前位置:首頁 » 編程語言 » 窗體控制項與sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

窗體控制項與sql

發布時間: 2022-08-18 09:33:35

❶ 用c#代碼在windows窗體上更新、查詢綁定的sql資料庫

#region LoadData方法
private void LoadData()
{
string connStr = CommConnect.ConnStr ();
SqlConnection conn = new SqlConnection(connStr);

string sql = "select * from PosList";

SqlDataAdapter ada = new SqlDataAdapter(sql,conn );
DataTable table = new DataTable();
ada.Fill(table);
dataGridView1.DataSource = table;
}
#endregion

#region 更新數據
private void button2_Click(object sender, EventArgs e)
{
string connStr = "Data Source\\SQLEXPRESS;database=Student management system;uid=sa;pwd=1234;"
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
string sql = "你自己的update語句'";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandText = sql;
cmd.Connection = conn;
cmd.ExecuteNonQuery();
conn.Close();
LoadData();
}
#endregion

查詢的話就要看你具體是要查哪個表,我給你一個示例:
#region 查詢數據
private void button17_Click(object sender, EventArgs e)
{
string connStr = "Data Source\\SQLEXPRESS;database=Student management system;uid=sa;pwd=1234;"
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
string sql = "select * from表名";
SqlDataAdapter ada = new SqlDataAdapter(sql, conn);
DataTable tb = new DataTable();
ada.Fill(tb);
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = tb;
}
#endregion

❷ C#窗體登錄sql資料庫

很簡單:
比如你在窗體上有三個textbox ,在TextBox1中輸入資料庫用戶名,在TextBox2中輸入用戶名,在TextBox3中輸入密碼。還有一個button 控制項。點擊button登錄。以下是代碼:
protected void Button1_Click(object sender, EventArgs e)
{
string sqlstr = "Data Source='在這里寫伺服器名稱';Initial Catalog="+TextBox1.Text.Trim()+";UID="+TextBox2.Text.Trim()+" ;pwd="+TextBox3.Text.Trim();
SqlConnection con = new SqlConnection(sqlstr);
try
{
con.Open();
MessageBox.Show("登錄成功");
}
catch (SqlException ex)
{
MessageBox.Show("登錄失敗!其它信息:"+ex.ToString());
}
con.Close();
}

❸ 請問各位前輩:你們是如何用控制項連接SQL資料庫的

把ADOConnection控制項和ADODataSet控制項放在窗體上雙擊ADOConnection連接SQL
Server資料庫然後把ADODataSet的Connect屬性設置為ADOConnectionCommandText設置為你要的SQL語句Active屬性設置為true如果你想在窗體上顯示出來的話還需要DataSource控制項和DBGrid控制項

❹ VS2005 C#做了個窗體應用程序,怎樣將C#程序連接到SQLServer2005建立的資料庫

網上找一些就是啦。。很簡單的。。看你是什麼資料庫了。不過都差不多。
先用SqlConnection建個連接
然後創建SqlCommand對象
利用 SqlDataReader 來讀取數據

Connection是連接,用來連接上資料庫伺服器或者資料庫文件打開一個數據查詢通道

Command是命令,用來執行Tsql語句或者存儲過程,可以建立查詢參數,防止SQL注入

DataReader是一個只讀向前的快速讀取器,用來讀取Command查詢出的數據,供你顯示或使用

OLEDB可以用在Access等資料庫上,SQl可以用在MS Sql Server資料庫上

DataSet是內存中的多個數據表的集合,包含數據結構,數據和數據關系,可以進行離線操作,然後在線更新

建立個條件查詢:
用Command對象
Sqlcommand cmd = new Sqlcommand("select * from users where name = @name)
cmd.parameter.addwithvalue("name",request["name"]);

SQL語句中的@name就是一個參數替換點,用cmd.parameter.addwithvalue將查詢用的條件值代入查詢語句就行了...

BindingSource是介於可綁定控制項和數據源(DataSet、適配器,DataTable,Reader等)之間的中介控制項,是從查詢到綁定之間的連接器

簡單的實例
string strCon = "Server=" + strServer + ";Database=master; uid=" + strUser + ";pwd=" + strPwd + ";port=" + strPort;
SqlConnection conn = new SqlConnection(strCon);
string sql="select name from master..sysdatabases",;
SqlDataAdapter da = new SqlDataAdapter(sql,conn);
DataTable dt = new DataTable();
da.Fill(ds);
如果是access的話string strCon= @"Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + HttpContext.Current.Server.MapPath("../testDB/db/db.mdb");
然後讀取dt中的值就可以進行判斷了!
sql 語句你可以根據需要進行修改

❺ Access2007窗體輸條件查數據

要將窗體中非綁定文本框輸入的數據插入數據表中比綁定控制項的方法要靈活得多,但是對於一個資料庫及其應用程序編程初學者來說這絕非一件易事,因為其中涉及的相關知識和細節很多不太容易弄清楚,稍有不慎就會出錯!這常常會讓不少初學者們感到沮喪。現在手把手一一道來。

首先我們來分析一下你貼出的SQL代碼,這是一個在INSERT INTO 語句中直接引用窗體控制項的SQL代碼,其思路是對的,但是有一點小毛病,結尾括弧前多了一個逗號,應予以刪除。另外,該語句未指定欄位名稱,這種情況下就必須在後面的values()內指定全部參數值,而且順序不能搞錯,否則語句運行時會報錯。建議修改如下:
INSERT INTO 購票信息登記表 (欄位1,欄位2,欄位3,欄位4,欄位5)
values ([forms]![購票登記信息界面]![Text0] ,
[forms]![購票登記信息界面]![Text2] ,
[forms]![購票登記信息界面]![Text4] ,
[forms]![購票登記信息界面]![Text6] ,
[forms]![購票登記信息界面]![Text8] )
特別說明一下,這種在SQL語句中直接引用窗體控制項的寫法只能應用於ACCESS窗體屬性、控制項屬性和ACCESS查詢對象中(用編程的方法設置為相應的控制項值也行),其它情況下ACCESS資料庫JET引擎無法識別。如果你要在ACCESS窗體點擊某個按鈕運行上述SQL代碼,可以這樣做,先將上述直接引用控制項的SQL代碼保存為一個操作查詢,取名「插入購票信息」,在該按鈕的單擊事件過程里用DoCmd對象的OpenQuery方法運行該查詢即可,
具體寫法為:DoCmd.OpenQuery "插入購票信息"
這里強調一下,即使操作查詢的SQL代碼完全正確也不能保證其可以正確運行,我們還要充分考慮插入數據的類型、數據完整性、有效性規則、是否允許空值、不能向自動ID欄位插入數據和是否唯一索引等諸多因素,否則出錯在所難免。

為了便於理解,下面給出一個在ACCESS窗體中將非綁定文本框中輸入數據插入數據表的實例供參考,請仔細閱讀相關代碼和注釋,這對提高你的ACCESS水平非常有用。

編寫實例前先假設購票信息登記表結構如下:
購票ID(文本,無重復,必填欄位)
票名稱(文本,允許重復,必填欄位)
數量(長整型數字,允許重復,必填欄位)
購票日期(時間日期,允許重復,必填欄位)
備注(文本,允許重復,非必填欄位)

在窗體中一般推薦使用非直接引用窗體控制項(常規)的SQL代碼,事實上JET引擎是無法直接識別窗體控制項的。上列直接引用窗體控制項的SQL代碼之所以可以運行,其實ACCESS系統在背後進行自動轉換將控制項上的具體數值告訴了JET引擎所致,當然其能應用的場所是有限制的(具體見上面所述)。

由於實例中要使用常規的INSERT INTO語句,現就插入一條記錄的語法作簡要說明。
INSERT INTO 目標表(欄位1,欄位1,欄位3,...) VALUES(數據值1,數據值1,數據值1,...)
說明:插入的欄位和插入的數據值須一一對應,不能多也不能少,數據類型要匹配或者兼容;數據值為文本的須用單引號括住,數據值為日期時要用一對#號括住,這些數據值必須是一個個具體的值而不能是對控制項的引用。

設計將Text0中的值插入「購票ID」欄位、Text2中的值插入「票名稱」欄位、Text4中的值插入「數量」欄位、Text6中的值插入「購票日期」欄位、Text8中的值插入「備注」欄位,添加一個命令按鈕[Command1],當點擊該按鈕後對應控制項中的資料隨即寫入購票信息登記表。

我們在向數據表插入記錄時不能隨意就將一些數據寫入相應的欄位里,而必須遵循一定的規則,不然表中的數據就不能被有效利用,甚至完全不可利用,資料庫也就失去了存在的價值。例如在「數量」的對應控制項[Text4]輸入「7B」,又或者在「購票日期」的對應控制項[Text6]輸入「2011-13-21」那麼將這樣的數據寫入數據表顯然是不妥當,為了避免這種情況的發生,我們可以手動設置[Text4]的「格式」屬性為「常規數字」,[Text4]的「格式」屬性為「長日期」這樣當不小心輸入錯誤數據時系統就會拒絕並予以提示。

現在給出具體代碼如下:
為COMMAND1添加下列單擊事件過程

Private Sub Command1_Click()

Dim strSql as String 『為合成INSERT INTO 語句聲明一個字元串型變數
If IsNull(Me!Text0) Then '如果Text0為空
MsgBox "請輸入購票ID", , "提示" '彈出提示框
Me!Text0.SetFocus '焦點移至Text0
Exit Sub '終止SUB過程
ElseIf DLookup("[購票ID]", "購票信息登記表", "[購票ID]=[Forms]![購票登記信息界面]![Text0]")= Me.Text0 Then
'利用DLookup函數查找[Text0]輸入的值是否已存在於表中,以避免輸入重復值
MsgBox "購票ID已用,請更換", , "提示"
Me!Text0.SetFocus
Exit Sub
ElseIf IsNull(Me!Text2) Then '如果Text2為空
MsgBox "請輸入票名稱", , "提示"
Me!Text2.SetFocus
Exit Sub
ElseIf IsNull(Me!Text4) Then

❻ treeview控制項與sql server 2008資料庫間的數據綁定

給你個思路~
在第一步中輸入類別編碼和名稱之後 進行保存到資料庫
左邊的Treeview控制項應該顯示資料庫中的東西(廢話!), 我的意思是你每次添加後都重新載入一次Treeview控制項。
怎麼載入就是讀取數據後逐個添加進去,
你就id name 2個欄位肯定是不夠的, id對應類別編號, name對應類別名稱(不知道對不對?), 至少還要一個此類別屬於哪一個大類吧?比如下面的
school class id name 這樣的一個簡單學生表就有層次了, 用Treeview控制項載入就比較合適。

用For循環動態載入即可。

❼ 怎麼讓vs 窗體中的textbook控制項和sql server的資料庫表中的欄位綁定起來

textbox?
如果用vs的話很簡單。
屬性-〉數據-〉Databindings->advanced打開一個對話框。然後建立或選擇數據源。後面都是可視化操作,自己看看就知道了。

❽ 在C#中怎麼把SQL資料庫中查詢的結果以表格的形式顯示到Windows窗體上,我添加了一個DataGridView控制項,


首先最下面的FrmMain_Load(...)是載入窗體時的初始化
先new一個publicclass()對象
接下來調用此對象的GetDataSet()方法
來看GetDataSet()方法
新建一個DataSet,用來存放從資料庫獲得的記錄,Dataset可以在關閉資料庫連接後使用;
Sqldataadapter,從名字上看適配器的意識,類是我們用的筆記本的交流電適配器,充當一個中間角色,讀取資料庫中的數據進行一些處理,把它可以存入到dataset中,da.fill()方法就是把數據填充到dataset中,後面的是異常處理,然後關閉必要的連接,把得到的dataset數據返回。
上面的getDataRow()方法跟getdataset差不多他只是返回dataset中的第一個表格的第一行數據,dataset中的數據都是以集的形式存在的,可以看成表。

再回到load()函數,判斷dataset中第一個結果集的行數是否大於0,也就相當於裡面有沒有數據,有的話把它顯示到datagridview中

中間還有一個ExecuteSQL()方法,新建一個連接,打開,執行Sqlcommand,
用 cmd.ExecuteNonQuery();但是你寫的sql命令式select,返回結果的,要用SqlDataReader read=cmd.ExecuteReader();
然後根據sqldatareader就可以讀取裡面的信息,這跟上面的採用dataset是另一種方法,根據你的需要選擇。

至於根據連接字元串連接資料庫的原理,這個是驅動程序的工作,我們無法知道,一種技術,微軟不會告訴你的。

至於修改更新,一種方法直接使用update或則delete的sql語句,然後執行ExecuteNonQuery()或則相應的方法,還有一種就是用dataset,首先讀入一些數據,形成一張「表 」記錄,你可以直接把它看成是二維數組,把要改的數據賦給n行m列的單元格,如set.table[0].rows[n][m]="xxx";賦值完後還要執行sqlDataadApter實例的update()方法,
!!!!注意在做這些之前還要新建一個SqlCommandBuilder類的實例
如SqlCommandBuilder build=new SqlCommandBuilder(adapter)//以SqlDataAdapter的實例作為參數,這樣基本的更新刪去就搞定了,希望對你有所幫助,我也正在學習當中...

❾ SQL 的LIKE 語句用窗體控制項做變數的語句怎麼寫

你先在sql語句外把窗體變數處理好,賦值給某變數,然後把該變數應用在sql語句中試試

❿ 我在窗體中 放置一個 dataGridView控制項 連接SQL server2005 報錯!

dataGridView1沒有數據或選擇的行為空。加個判斷:
int delstudentID = 0;
if(dataGridView1.selectedRows.Count>0)
delstudentID=int.parse(dataGridView1.selectedRows[0].cell[0].value.tostring());
else
MessageBox.show("未選擇任何行!");