我有一个ASP.NET网页,需要在我的aspx文件的脚本sectipn中从客户端进行SQL Server调用。我正在调用一个存储过程,它需要一个parm。此sp在SQL Server Management Studio中正常工作,按预期返回记录。当我尝试从对此sp的调用中填充数据集时,ds将填充零记录。是否有一些关于从客户端进行此调用的事情,我错过了。这是我的代码。为了测试目的,我很难对parm进行编码。 PS - 我在try catch中有这个并且没有错误只是一个空数据集.Thnx。
string strAssignedTo = "Dwight Shoemaker";
System.Data.DataSet ds = new System.Data.DataSet();
System.Data.SqlClient.SqlConnection sqlcon = new System.Data.SqlClient.SqlConnection("Data Source=sql394.mysite4now.com;Initial Catalog=ULS_db1;User ID=uls2008;Password=uls2008");
System.Data.SqlClient.SqlCommand comand = new System.Data.SqlClient.SqlCommand();
comand.Connection = sqlcon;
comand.CommandText = "GetAssignedToReport";
comand.CommandType = System.Data.CommandType.StoredProcedure;
comand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@assignedTo", System.Data.SqlDbType.VarChar, 50));
comand.Parameters["@assignedTo"].Value = strAssignedTo;
System.Data.SqlClient.SqlDataAdapter sqladp = new System.Data.SqlClient.SqlDataAdapter(comand);
sqlcon.Open();
sqladp.Fill(ds);
答案 0 :(得分:1)
我已经尝试过您的代码了,没关系。关于可能出错的事情是这样的:
如果您尝试绑定gridView,如:
gridView.DataSource= ds;
你什么也看不见。我试过你的例子,但不是以前的代码,我绑定gridView像这样:
gridView.DataSource = ds.Tables[0];
我看到你的记录。
列名:assigned_dt,其值为:7/5 / 2005,5 / 2/2005。这是你所期望的。
此致
答案 1 :(得分:0)
不确定您的意思:ASP.Net C#代码始终在Web服务器上运行,客户端 NEVER 。这两个只是不混合。
根据您的评论进行更新:
你是如何宣布你的“剧本”的?有两种方法可以做到:
单个<script runat="server"> //code here </script>
元素。这可以处理任何页面事件,包括页面加载。
内联脚本元素/蜜蜂蜇伤。 <% %>
标记散布在您的标记中。这是一种常见的误解,即这些标记中的代码在页面加载时运行。正如你可能从我使用的单词“misconception”中得到的那样,这是错误的。这些标记中的代码直到页面生命周期的晚些时候才会运行(PreRender,IIRC)。
请特别注意第二项,因为此代码在之后运行数据绑定阶段已经完成。如果要将该数据集用作控件的数据源,则需要手动使用DataBind()。