我第一次使用C#和SQL Server构建简单的ERP系统。我试图检查textBox中的值是否已经存在于数据库中;当窗体打开并键入字段时,我得到一个异常
下面是检查函数:
private void txtRef_Validated(object sender, EventArgs e)
{
BL.CLS_PRODUCTS prd = new BL.CLS_PRODUCTS();
DataTable Dt = new DataTable();
Dt = prd.VarifyProductID(txtRef.Text);
if (Dt.Rows.Count > 0)
{
MetroMessageBox.Show(this, "الصنف موجود مسبقاً", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtRef.Focus();
txtRef.SelectionStart = 0;
txtRef.SelectionLength = txtRef.Text.Length;
}
}
da.Fill(dt);
public DataTable SelectData(string stored_procedure, SqlParameter[] param)
{
SqlCommand sqlcmd = new SqlCommand();
sqlcmd.CommandType = CommandType.StoredProcedure;
sqlcmd.CommandText = stored_procedure;
sqlcmd.Connection = sqlconnection;
if (param != null)
{
for (int i = 0; i < param.Length; i++)
{
sqlcmd.Parameters.Add(param[i]);
}
}
SqlDataAdapter da = new SqlDataAdapter(sqlcmd);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
public DataTable VerifyProductID(string ID)
{
DAL.DataAccessLayer DAL = new DAL.DataAccessLayer();
DataTable Dt = new DataTable();
SqlParameter[] param = new SqlParameter[1];
param[0] = new SqlParameter("@ID", SqlDbType.VarChar, 50);
param[0].Value = ID;
Dt = DAL.SelectData("VerifyProductID", null);
DAL.Close();
return Dt;
}
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[VerifyProductID]
@ID VARCHAR(50)
AS
SELECT *
FROM PRODUCTS
WHERE ID = @ID
StackTrace:
位于System.data.sqlclient.sqlConnection.onerror(SqlException exception,Boolean breakConnection,Action1 wrapCloseInAction)位于System.data.sqlClient.sqlInternalConnection.onerror(SqlException exception,Boolean breakConnection,Action
1 wrapCloseInAction)位于System.data.sqlClient.tdSparser.throwException在System.data.sqlclient.SqlDataReader.tryconsumemetadata()在System.data.sqlclient.SqlCommand.finishexecuteReader(sqldataader ds,RunBehavior RunBehavior,String rehtml" target="_blank">setOptionsString)在system.data.sqlclient.SqlCommand.runExecuteReadds(CommandBehavior cmdBehavior,RunBehavior RunBehavior,Boolean returnSsystem.data.sqlclient.sqlcommand.runexecuteReader(CommandBehavior cmdBehavior,RunBehavior RunBehavior,Boolean returnStream,String method,task&task,Boolean asyncWrite,String method,TaskCompletionSource`1 Complinition,Int32 timeout,Int32 timeout,task&task,Boolean asyncWrite)D.ExecuteDbDataReader(CommandBehavior behavior)在System.data.common.dbCommand.System.data.common.dbCommand.IDbCommand.ExecuteReader(CommandBehavior behavior)在System.data.common.dbDataAdapter.Fillinternal(DataSet DataSet,DataTable[]datatables,Int32 startRecord,Int32 maxRecords,String srcTable,IDbCommand command,CommandBehavior,Int32 maxRecords,IDbCommand命令,CommandBehavior)在System.data.common.dbdataAdapter.fill(DataTable DataTable)在e_and_m.dal.dataAccesslayer.selectData(String stored_procedure,sqlparameter[]param)在C:\users\kh\documents\visual Studio 2012\projects\e_and_m\e_and_m\dal\disual Studio 2012\drojects\dataAccesslayer.cs:c中的add_proudect.txtref_validated(对象发件人,EventArgs e)在C:\users\kh\documents\visual Studio 2012\projects\e_and_m\e_and_m\pl\frm_add_proudect.cs:第33行在system.windows.forms.Control.onvalidated(EventArgs e)在system.windows.forms.Control.performcontrolidated(Boolean bulkValidation)在
Dt = DAL.SelectData("VarifyProductID", null);
应该是
Dt = DAL.SelectData("VarifyProductID", param);
问题内容: 我想控制是否退出,但是找不到解决方法。 我还探讨了的属性,但是找不到任何特定的方法来获取有关驱动程序状态的信息。还要检查会话ID: 问题答案: 如果您探索python- selenium驱动程序的源代码,则将看到firefox驱动程序的方法在做什么: 您可以在此处依赖某些内容:检查是否存在或检查状态。它可以工作,但是您还可以看到只有“外部调用”,并且 在python端没有任何改变 可以
以下是示例代码: (由于某种原因,这里的窗户关闭了) 回溯(最后一次调用):文件“/usr/local/lib/python2.7/dist packages/selenium/webdriver/firefox/webdriver.py”第183行中的“文件”,第1行。退出(self)文件“/usr/local/lib/python2.7/dist packages/selenium/webdr
一个类似于Iterator中的的方法,在异常抛出和布尔返回行为中(尽管没有与的约定)。 示例: 目标是在客户端代码调用此方法而不消耗流的情况下早期失败。 一个可接受的答案也可以是“没有解决方案存在”,并有充分的理由说明为什么规范不能添加这样的方法(如果有充分的理由的话)。看起来JDK流通常在其终端方法的开头有以下代码段: 因此,对于这些流,实现这样的方法似乎并不困难。
问题内容: 我需要检查一组页面对象,以查看每个对象是否在其WebDriver上调用了quit()。 我编写了以下方法来检查WebDriver的状态: 问题就在这里:我不喜欢抛出异常来发现布尔值的真相,但是由于 WebDriver API 没有提供检查驱动程序是否退出的方法,因此我似乎别无选择。 所以我的问题是, 是否有更好的方法来检查WebDriver是否已退出? 我在这里找到了一个类似的问题(但
问题内容: 以编程方式检查PDF文件是否被完全扫描的最佳方法是什么?我确实可以使用iText和PDFBox。我可以检查pdf文件是否包含文本,并根据结果确定该文件是否为OCRed,但是此解决方案并非100%准确。我想知道是否还有另一种方法来解决这个问题。 如您所知,解决方案必须基于Java。 问题答案: 最好的选择是检查它是否包含文本,还查看它是否包含大的页面化图像或覆盖页面的大量平铺图像。如果您
问题内容: 我继承了子类并重载了,现在我可以像这样重构文本,但是我不想处理透明文本,这通常是垃圾。 我怎么知道某些文本是否透明? 问题答案: 事实证明, 透明文本 实际上根本不是透明的,而只是被图像覆盖:在201103 SA的关键吸烟统计数据2010 FINAL.pdf中 ,图像“ SA — 2004的关键吸烟统计数据”已被图像覆盖。显示TC标志。 下面显示了文本剥离程序类的概念证明,该类将忽略图