本程序段:通过Sql的存储过程创建一个表,并将该表作为datagridview的数据源显示出来,最终便于用户界面上编辑,现在问题是: 总提示表己存在,请高手指点,错在哪?谢了
public DataTable 创建票据表(DataGridView DataGridView, string 数据库, string 过程)
{
DataGridView = new DataGridView();
string 票号 = DateTime.Now.ToString("yyyyMMddHHmmss");
SqlCommand Cmd = new SqlCommand();
Cmd.Connection = new SqlConnection("server=.;uid=sa;pwd=sa;Database= " + 数据库);
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.CommandText = 过程;
Cmd.CommandTimeout = 5;
SqlParameter TableCol = new SqlParameter("@Table", 票号);
Cmd.Parameters.Add(TableCol);
Cmd.Connection.Open();
Cmd.ExecuteNonQuery(); SqlDataAdapter adapter = new SqlDataAdapter(Cmd);
DataSet DataSet = new DataSet(); adapter.Fill(DataSet, 票号);
DataGridView.DataSource = DataSet.Tables[0].DefaultView; DataSet = null;
adapter = null;
Cmd.Dispose();
return DataSet.Tables[0];
}
Sql的存储过程创建一个表
public DataTable 创建票据表(DataGridView DataGridView, string 数据库, string 过程)
{
DataGridView = new DataGridView();
string 票号 = DateTime.Now.ToString("yyyyMMddHHmmss");
SqlCommand Cmd = new SqlCommand();
Cmd.Connection = new SqlConnection("server=.;uid=sa;pwd=sa;Database= " + 数据库);
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.CommandText = 过程;
Cmd.CommandTimeout = 5;
SqlParameter TableCol = new SqlParameter("@Table", 票号);
Cmd.Parameters.Add(TableCol);
Cmd.Connection.Open();
Cmd.ExecuteNonQuery(); SqlDataAdapter adapter = new SqlDataAdapter(Cmd);
DataSet DataSet = new DataSet(); adapter.Fill(DataSet, 票号);
DataGridView.DataSource = DataSet.Tables[0].DefaultView; DataSet = null;
adapter = null;
Cmd.Dispose();
return DataSet.Tables[0];
}
Sql的存储过程创建一个表
解决方案 »
- 想对image加上一个标记,打钩为已选。
- 请问如何实现以下功能-listview
- lock(this),lock(object),lock("string")区别?
- 各位请问:后台生成的A标记 怎样调用onserverclick事件
- 老程序员问个弱智问题,来者有分!
- HttpWebRequest && SSL
- 求c#中关于comboBox的一个问题
- 请问在.Net中关于Microsoft.Practices.EnterpriseLibrary有什么优点和缺点?
- 新手请问
- datagrid控件(winform)问题
- c#基于IOCP的SocketAsyncEventArgs服务器端(即时通讯端)如何处理并发客户端连接问题
- C#调用c++中的dll出现的奇怪问题,请大家来帮帮忙!
DataSet DataSet = new DataSet();cmd得是select语句吧。。
你这还是存储过程吧。。
第一;adapter.Fill(DataSet, 票号);是不是抽出数据来了。。
第二。DataSet 设成null是不是产生影响了。
注销了DataSet =null 还是显示为“数据库中已存在名为 '20130226214852' 的对象。”哎,真烦人,弄了两天,就那几行,。
DataSet DataSet = new DataSet(); adapter.Fill(DataSet, 票号);
试试
USE [Store_2013]
GO/****** Object: StoredProcedure [dbo].[创建表] Script Date: 2013/2/27 11:35:48 ******/
DROP PROCEDURE [dbo].[创建表]
GO/****** Object: StoredProcedure [dbo].[创建表] Script Date: 2013/2/27 11:35:48 ******/
SET ANSI_NULLS ON
GOSET QUOTED_IDENTIFIER ON
GOCreate proc [dbo].[创建表]
@Table varchar(20)
ASbegin --Declare @Table varchar(20)
--Exec(
-- 'SET ' + @Table + '= t2'
-- )
Exec (
'CREATE TABLE [' + @Table + '](
[ID] [varchar](10) NOT NULL primary key,
[编号] [varchar](15) NULL ,
[品名] [varchar](30) NULL,
[规格] [varchar](50) NULL,
[数量] [float] NULL,
[单位] [varchar](10) NULL,
[单价] [float] NULL,
[百万] [int] NULL,
[十万] [int] NULL,
[万] [int] NULL,
[千] [int] NULL,
[十] [int] NULL,
[元] [int] NULL,
[角] [int] NULL,
[分] [int] NULL,
[金额] [float] NULL)'
)
--Exec
-- (
-- 'insert into [' + @Table + '] ([编号]) Values (0)'
-- )
End GO
select * from @Table