当前位置:首页 » 数据仓库 » c查询数据库并返回结果
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c查询数据库并返回结果

发布时间: 2022-12-31 12:55:47

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()){
执行相关语句...
}