A. C# winform如何多個textbox查詢資料庫再將資料庫數據返回到datagridview中啊真心不會。
1樓回答的基本思路是對的
不過 應該這樣拼
HashSet<sqlParameter> parameters = new HashSet<SqlParameter>();
StringBuilder select =
new StringBuilder(
@" select * ");
StringBuilder from = new StringBuilder(@" FROM 表名 ");
StringBuilder where = new StringBuilder(@" where 1 = 1 "); // 這里寫1=1 方便後續條件組合 + and
if(!string.IsNullOrEmpty(TextBox1.Text.Trim()){
where.Append(@" and 列名=@列名"); //@列名 SQL參數
}
.................................
執行 ..................... //執行的時候 將 parameters 賦值給 Command.parameters
B. C#中如何在文本框中輸入數據然後按回車就查詢資料庫將結果顯示在Datagridview中
這個其實實現起來還是比較簡單的。
定義一個簡單的查詢條件類。
多個textbox,我想可定代表著多個條件。
每一個條件設置一個欄位,屬性!
如:
publi class Condition
{
private int _id;
private string _name;
private string _pwd;
public int Id
{
get{return _id;}
set{_id=value;}
}
public int Name
{
get{return _name;}
set{_id=name;}
}
public int Pwd
{
get{return _pwd;}
set{_pwd=value;}
}
}
然後每個設置每個textbox的keypress事件,當點擊entry的時候就提交查詢。
寫一個查詢的方法 public DataTable Search(Conditon condition)//傳遞一個condition對象
在實現的過程中,判斷所有的屬性是否為空,如果某個屬性為空,則在提交的時候忽略這個條件。如果不為空就在sql語句中加上這個條件。
例如
id為空 name pwd不為空
string sql ="select * from T_User ";
if(condition.id!=null)//id不為空
{
sql+=" where id="+condition.Id;
if(condition.Name!=null)
{
sql+=" and username="+condition.Name;
if(condition.Pwd!=null)
{
sql+" and pwd="+condition.Pwd;
}
}
}
else
{
if(condition.Name!=null)
{
sql+=" and username="+condition.Name;
if(condition.Pwd!=null)
{
sql+" and pwd="+condition.Pwd;
}
}
整體的查詢大概就這樣實現,你可以再這個基礎上修改什麼的。
我想應該能滿足你的要求!
C. 如何用C實現對SQL資料庫的操作
#include <stdio.h> #include <stdlib.h> #include <string.h> #include "util.h" #include <sqlca.h>`` EXEC SQL INCLUDE SQLCA;main(){EXEC SQL BEGIN DECLARE SECTION; char firstname[13]; char userid[9]; char passwd[19]; EXEC SQL END DECLARE SECTION; EXEC SQL CONNECT TO sample; EXEC SQL SELECT FIRSTNME INTO :firstname FROM employee WHERE LASTNAME = 'JOHNSON'; printf( "First name = %s\n", firstname ); EXEC SQL CONNECT RESET;return 0;}上面是一個簡單的靜態嵌入SQL語句的應用程序。它包括了嵌入SQL的主要部分: (1)中的include SQLCA語句定義並描述了SQLCA的結構。SQLCA用於應用程序和資料庫之間的通訊,其中的SQLCODE返回SQL語句執行後的結果狀態。 (2)在BEGIN DECLARE SECTION和END DECLARE SECTION之間定義了宿主變數。宿主變數可被SQL語句引用,也可以被C語言語句引用。它用於將程序中的數據通過SQL語句傳給資料庫管理器,或從資料庫管理器接收查詢的結果。在SQL語句中,主變數前均有「:」標志以示區別。 (3)在每次訪問資料庫之前必須做CONNECT操作,以連接到某一個資料庫上。這時,應該保證資料庫實例已經啟動。 (4)是一條選擇語句。它將表employee中的LASTNAME為「JOHNSON」的行數據的FIRSTNAME查出,並將它放在firstname變數中。該語句返回一個結果。可以通過游標返回多個結果。當然,也可以包含update、insert和delete語句。 (5)最後斷開資料庫的連接。 從上例看出,每條嵌入式SQL語句都用EXEC SQL開始,表明它是一條SQL語句。這也是告訴預編譯器在EXEC SQL和「;」之間是嵌入SQL語句。
D. C#資料庫查詢返回值
你的資料庫中數據表設計的時候,Cusid是自增的主鍵int 型的話,那麼就在成功之後再反過來給它一個查詢:
select Max(Cusid) from 表名
這樣就可以得到你要的剛注冊的實例了~
希望可以幫助你~~
E. C#access資料庫查詢返回值
int c=odc.ExecuteNonQuery();//這里出錯了(這里適用的sql語句為 Update,Insert;Select是不適用的)
正確為:
int c=odc.ExecuteScalar();//
F. 求助大牛!C++編程,如何查詢資料庫中多條記錄的多個欄位值,並且返回到一個數據塊中...急急急!
額。。寫個個簡單的樣列,用的是ODBC,比較直接。使用ADO的話雖然代碼少,但是看起來不是很好理解。你可以自己去網路學學~
用到的函數都比較容易理解,我就沒多加說明了,如果有不理解的復制函數名網路一下,會有詳細的說明的。大概的流程就是這樣了~
//包含頭文件
#include "windows.h"
#include "sqlext.h"
#pragma comment(lib,"odbc32.lib")
int main(int argc, char* argv[]){
//1.連接數據源(前提是你已經配置好了數據源,我用的sqlserver資料庫,怎麼配數據源網路一下~很簡單的)
//分配環境句柄, 保存一些驅動程序的信息
SQLHENV henv;//環境句柄
SQLRETURN sqlRet;
sqlRet = SQLAllocEnv(&henv);
if (sqlRet != SQL_SUCCESS && sqlRet != SQL_SUCCESS_WITH_INFO)
{
printf("分配環境句柄失敗!\n");
return -1;
}
//分配連接句柄
SQLHDBC hdbc;//連接句柄
sqlRet = SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);
if (sqlRet != SQL_SUCCESS && sqlRet != SQL_SUCCESS_WITH_INFO)
{
printf("分配連接句柄失敗!\n");
return -1;
}
//連接數據源(test是資料庫名字,sa 和sa 是用戶們和密碼,你替換即可)
sqlRet = SQLConnect(hdbc,(SQLCHAR*)"test",strlen("test"),(SQLCHAR*)"sa",2,(SQLCHAR*)"sa",2);
if (sqlRet != SQL_SUCCESS && sqlRet != SQL_SUCCESS_WITH_INFO)
{
printf("連接數據源失敗!\n");
return -1;
}
//2.執行SQL語句
//准備語句句柄
SQLHSTMT hstmt;
sqlRet = SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hstmt);
if (sqlRet != SQL_SUCCESS && sqlRet != SQL_SUCCESS_WITH_INFO)
{
printf("連接語句句柄失敗!\n");
return -1;
}
//設置游標類型(參看:http://blog.csdn.net/bichenggui/article/details/5601381)
sqlRet = SQLSetStmtOption(hstmt,SQL_ATTR_CURSOR_TYPE,SQL_CURSOR_KEYSET_DRIVEN);
if (sqlRet != SQL_SUCCESS && sqlRet != SQL_SUCCESS_WITH_INFO)
{
printf("設置游標類型失敗!\n");
return -1;
}
//執行SQL語句
//直接執行(你替換成你自己的sqlserver語句即可)
sqlRet = SQLExecDirect(hstmt,(SQLCHAR*)"insert into student values('lsk',21)",SQL_NTS);
if (sqlRet != SQL_SUCCESS && sqlRet != SQL_SUCCESS_WITH_INFO)
{
printf("執行SQL語句失敗!\n");
return -1;
}
//獲取結果集
SQLCHAR value[20]={0};
SQLINTEGER len = 0;
//移動游標(不移動前游標指向結果集第一列的前面)
SQLFetch(hstmt);
//取值(取的是結果集的第一列的值),第二個參數表示取第幾列
SQLGetData(hstmt,1,SQL_C_CHAR,value,20,&len);
printf("結果為:%s\n",value);
//假如結果集有多行則再次移動游標即可
SQLFetch(hstmt);
//然後再次取值
SQLGetData(hstmt,1,SQL_C_CHAR,value,20,&len);
//關閉句柄,釋放資源
SQLFreeHandle(SQL_HANDLE_STMT, hstmt); //釋放語句句柄
SQLDisconnect(hdbc); //斷開連接
SQLFreeHandle(SQL_HANDLE_DBC, hdbc); //釋放連接句柄
SQLFreeHandle(SQL_HANDLE_ENV, henv); //釋放環境句柄
return 0;
}
G. C#連接資料庫,查詢後怎麼輸出查詢結果
C#連接資料庫,查詢後怎麼輸出查詢結果可以通過一下方式
1:輸出的結果可以是集合對象
2:輸出的結果可以是DataSet或者DataTable
下面的案例提供了兩種方式:
方法返回的是集合對象,內部使用的是DataSet
public IList<Student> GetAllStudents1()
{
IList<Student> dataList = new List<Student>();
DataSet dataSet = new DataSet();// 聲明並初始化DataSet
SqlDataAdapter dataAdapter; // 聲明DataAdapter
using (SqlConnection conn = new SqlConnection(connString))
{
// 定義command對象
SqlCommand command = new SqlCommand(dboOwner + ".usp_SelectStudentsAll", conn);
command.CommandType = CommandType.StoredProcere;
//Command定義帶參數的SQL語句的參數
//command.Parameters.Add("@stuID", SqlDbType.Int);
//給輸入參數賦值
//command.Parameters["@stuID"].Value = 5;
conn.Open();
// 初始化 DataAdapter
dataAdapter = new SqlDataAdapter(command);
// 填充 DataSet
dataAdapter.Fill(dataSet, "dataSetName");
// 處理數據集中的數據
foreach (DataRow row in dataSet.Tables[0].Rows)
{
Student model = new Student();
model.StuId = Convert.ToInt32(row["stuID"]);
model.StuName = Convert.ToString(row["stuName"]);
dataList.Add(model);
}
}
return dataList;
}
H. C#中查詢資料庫信息,如何返回是否查詢到的信息。
COUNT(*) 吧,0為FALSE,>0為True
I. 資料庫查詢的返回值問題
可以使用resultset.next()來判斷是否查詢到相應結果。resultset.next()的返回值是true或false,如果有結果返回true,沒有結果則返回false
使用方法
if(resultset.next()){
執行相關語句...
}