我是利用dataApater自动配置的,在查询生成器中选择添加函数
然后选择好函数,在自动生成的语句中加入定义好的参数@key.SELECT
站次,
经由站,
到站时刻,
发车时刻,
公里数,
天数
FROM
checi8(@key) checi8下一步:结果提示错误不允许从数据类型 sql_variant 到 int 的隐性转换。请使用 CONVERT 函数来运行此查询。
我在程序中这样加参数的你看看对不对:
int key=(int) DataGrid1.DataKeys[DataGrid1.SelectedIndex];
sqlSelectCommand1.Parameters.Add("@key",key);sql函数语句:
ALTER FUNCTION checi8
( @key int)
RETURNS table
AS
RETURN (
SELECT *
FROM (SELECT 站次, 经由站,
isnull(CONVERT(char(5), 到站时刻, 108), '起点') AS 到站时刻,
isnull(CONVERT(char(5), 发车时刻, 108), '终点') AS 发车时刻,
公里数, 天数
FROM message2
WHERE 车次ID =@key) tem
)
然后选择好函数,在自动生成的语句中加入定义好的参数@key.SELECT
站次,
经由站,
到站时刻,
发车时刻,
公里数,
天数
FROM
checi8(@key) checi8下一步:结果提示错误不允许从数据类型 sql_variant 到 int 的隐性转换。请使用 CONVERT 函数来运行此查询。
我在程序中这样加参数的你看看对不对:
int key=(int) DataGrid1.DataKeys[DataGrid1.SelectedIndex];
sqlSelectCommand1.Parameters.Add("@key",key);sql函数语句:
ALTER FUNCTION checi8
( @key int)
RETURNS table
AS
RETURN (
SELECT *
FROM (SELECT 站次, 经由站,
isnull(CONVERT(char(5), 到站时刻, 108), '起点') AS 到站时刻,
isnull(CONVERT(char(5), 发车时刻, 108), '终点') AS 发车时刻,
公里数, 天数
FROM message2
WHERE 车次ID =@key) tem
)
解决方案 »
- !色彩搭配有缺陷的小菜鸟跪求简易整体皮肤包
- 如何把数据库(sqlserver)的数据添加到下拉列表(select)
- page_Load事件是在什么时候执行呢?在page_Load事件中,向placeHolder添加控件能成功么?
- 请问asp.net如何显式调用程序集
- 救救我,关于类
- 点击button隐藏和显示table的多行
- 如何从一个数据无序的树型表,得到一个数据工整排列的表?SQL 语句
- 一个关于DataGrid的问题
- 請問如何應用VS2003中的javascript檔?
- 网动新闻1.2.ner出错,如果如何解决.
- 索引 0 不是非负数且小于总行数。加载datagrid的时候!!
- DataGrid的删除问题,如果datagrid按钮列中删除按钮类型为pushbutton,则刷新页面,若为linkbutton则正常!不知何解?
设定你运行的sql方式为调用sql的存储过程,就好。
默认是sql_variant,你查找如下面
sqlCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@key", System.Data.SqlDbType.variant));
将System.Data.SqlDbType.variant
改为System.Data.SqlDbType.Int;
然后在调用sqlcommand时候先给parameter的value赋值
sqlCommand1.Parameters["@Key"].Value=你从datagrid查询来的int值
另外其实你这一句最好用存储过程来实现,为什么用函数呢?