从DLL执行SQL Server存储过程
本文关键字:Server 存储过程 SQL 执行 DLL | 更新日期: 2023-09-27 18:28:06
我想使用C#执行SQL Server存储过程。这是我当前的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DBCon;
using System.Data;
using System.Data.SqlClient;
public class LoginDAl
{
public static DataSet login_vald()
{
DBConnect myConnection = new DBConnect();
SqlCommand comm = new SqlCommand("ph.validate_app_user", myConnection.connection);
comm.CommandType = CommandType.StoredProcedure;
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
}
}
这是一个练习的模拟项目。DLL是DAL的标准吗?这是一个桌面应用程序。这是DAL的一部分。
错误为
login_vald()-并非所有代码路径都返回值
错误非常明显:
login_vald()-并非所有代码路径都返回值
意味着您的函数缺少一个return
语句,该语句的对象类型为DataSet
,类似于:
public static DataSet login_vald()
{
DBConnect myConnection = new DBConnect();
SqlCommand comm = new SqlCommand("ph.validate_app_user", myConnection.connection);
comm.CommandType = CommandType.StoredProcedure;
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
return ds; //this is missing
}
- 执行过程(类似于da.Fill(ds))
- 返回数据集(返回ds;)
您必须查找execute procedure命令示例
您需要一个返回语句,还需要用记录填充数据集
public static DataSet login_vald()
{
DBConnect myConnection = new DBConnect();
SqlCommand comm = new SqlCommand("ph.validate_app_user", myConnection.connection);
comm.CommandType = CommandType.StoredProcedure;
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(ds); //missing argument from SqlDataAdapter this will fill the ds
return ds; //return filled DataSet
}