c# - 在 Xamarin 中将存储过程与 Web 服务一起使用
问题描述
我在 Xamarin Form 中工作......我创建了 Web 服务 ASMX 和 SQL Server 数据库,它工作正常。但是当我用存储过程替换查询时出现错误。
我做什么 :
首先,
我DBConnection.cs
为连接字符串创建类
public class DBConnection
{
public string ConnectionString
{
get
{
return "Data Source=...........;Initial Catalog=..........;User Id=......; Password=......;";
}
}
}
之后,我创建存储过程Login
CREATE PROCEDURE [dbo].[Login] (
@UserNameLogin NCHAR (20),
@UserPasswordLogin NCHAR (30)
)
AS
SELECT * FROM [Us] WHERE UserName=@UserNameLogin AND UserPassword=@UserPasswordLogin
RETURN 0
最后,我使用了代码隐藏来连接
public Result Login(string UserName, string UserPassword)
{
SqlConnection con = new SqlConnection(new DBConnection().ConnectionString);
/// Class for return bool vaulable
Result result = new Result();
try
{
SqlCommand com = new SqlCommand("Login", con);
com.Parameters.AddWithValue("@UserNameLogin", UserName);
com.Parameters.AddWithValue("@UserPasswordLogin", UserPassword);
com.Connection = con;
if (con.State == System.Data.ConnectionState.Closed)
con.Open();
SqlDataReader rd = com.ExecuteReader();
if (rd.HasRows)
{
rd.Read();
result.ValidUser = true;
return result;
}
System.Data.SqlClient.SqlException(0x80131904)的问题在哪里 :过程或函数'Login'需要参数'@UserNameLogin',但未提供。
以及如何解决?我需要配置管理器吗?如果是的话如何编写正确的代码
解决方案
我认为你必须指定com.CommandType = CommandType.StoredProcedure;
推荐阅读
- python - Seaborn 绘图未显示
- python - 将数据帧中的样本输入 ARMA 模型并获得“ValueError:设置带有序列的数组元素。”
- python - 在 c++ 中导入用 swig 包装的 python 模块的正确方法是什么
- python - 在 PyCharm 的 Python 科学绘图中使用 matplotlib 时无法连接到 localhost:63342
- python-3.x - 如何在numpy中将一个大数字四舍五入到1000位?
- autodesk-forge - Bim360 Docs 模型翻译作业未触发
- telegram - 如何将用户重定向到电报的设置菜单,他们可以在其中输入用户名
- python - 为什么我会收到 smtplib.SMTPRecipientsRefused: 错误?
- php - 从 URL/主机中删除子域以匹配附属链接数组中的域
- c# - 如何在 64 位 Windows 操作系统上为 32 位 Outlook 创建安装文件?