using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;using System.Data.SqlClient;
public partial class CreateProcedure : System.Web.UI.Page
{
public string SqlCon;
public string procedureIns;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string procedure = "SET ANSI_NULLS ON \r\nGO\r\nSET QUOTED_IDENTIFIER ON\r\nGO \r\n-- ============================================= \r\n -- Author: <Author,,Name> \r\n -- Create date: <"+DateTime.Now+"> \r\n -- Description: <Description,,> \r\n -- ============================================= \r\n CREATE PROCEDURE " + "Ins_Name" + "\r\n AS \r\n BEGIN \r\n " + "Ins_Name" + "END \r\n GO";
//txt_proc.Text = procedure;
}
} protected void btn_Create_Click(object sender, EventArgs e)
{
string proc = "";
string sqlcon = txt_slqCon.Text.ToString();//"server=10.114.72.31;uid=sa;pwd=123;database=wgltest";
string TableName = txt_tableName.Text.ToString();
string [] name = TableName.Split(','); if (sqlcon == "")
{
Response.Write("<script>alert('真干人连接串没写')</script>");
}
else
{
if (name.Length > 0&&name[0]!="")
{
for (int i = 0; i < name.Length; i++)
{
DataTable dat = GetColumnNames(sqlcon, name[i].ToString());
if (dat.Rows.Count > 0)
{
proc = proc + "\r\n\r\n" + CreateProc(dat,TableName);
}
else
{
Response.Write("<script>alert(‘真干人看看连接串写的对么?')</script>");
break;
}
} } else
{
Response.Write("<script>alert('不写表名你干人啊!')</script>");
}
txt_proc.Text = proc;
}
} public DataTable GetColumnNames(string Sqlcon, string TableName)
{
DataTable dat = new DataTable();
try
{
SqlConnection con = new SqlConnection(Sqlcon);
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "select a.name,b.name as typename from syscolumns a inner join systypes b on a.xtype=b.xusertype inner join sysobjects c on a.id=c.id where c.name = '"+ TableName + "'";
SqlDataAdapter sdap = new SqlDataAdapter(cmd);
sdap.Fill(dat);
}
catch (Exception ex)
{
if (Sqlcon == "")
{
Response.Write("<script>alert('干人你到是写个链接串啊')</script>");
}
else
{
Response.Write("<script>alert('库里也没这表啊')</script>");
}
}
return dat;
}
public string CreateProc(DataTable dat,string TableName)
{
string Del = "";
string Upd = "";
string paramIns = "";
string parramUpd = "";
string ziduanIns = "";
string ziduanpram = "";
string ziduanUpdParam = "";
if (dat.Rows.Count > 0)
{
string paremDel = "@" + dat.Rows[0]["name"].ToString() + " " + dat.Rows[0]["typename"].ToString();
for (int i = 1; i < dat.Rows.Count; i++)
{
string ParamType = dat.Rows[i]["typename"].ToString();
if (dat.Rows[i]["typename"].ToString() == "nchar" || dat.Rows[i]["typename"].ToString() == "nvarchar")
{
ParamType = dat.Rows[i]["typename"].ToString() + "(200)";
}
paramIns = paramIns + "@" + dat.Rows[i]["name"].ToString() + " " + ParamType + ",\r\n";
ziduanIns = ziduanIns + dat.Rows[i]["name"].ToString() + ",";
ziduanpram = ziduanpram + "@" + dat.Rows[i]["name"].ToString() + ",";
ziduanUpdParam = ziduanUpdParam + dat.Rows[i]["name"].ToString() + "=@" + dat.Rows[i]["name"].ToString() + ",\r\n"; }
parramUpd = paremDel + ",\r\n" + paramIns;
procedureIns = "SET ANSI_NULLS ON\r\nGO\r\nSET QUOTED_IDENTIFIER ON\r\nGO\r\n-- ============================================= \r\n-- Author:<Author,,Name>\r\n-- Create date: <" + DateTime.Now + ">\r\n-- Description: <Description,,> \r\n-- =============================================\r\nCREATE PROCEDURE " + "Ins" + TableName + "\r\n" + paramIns.Substring(0, paramIns.Length - 3) + "\r\n AS\r\nBEGIN \r\n " + "insert into" + TableName + "\r\n(" + ziduanIns.TrimEnd(',') + ")\r\nvalues\r\n(" + ziduanpram.TrimEnd(',') + ") \r\n END \r\n GO"; Upd = "SET ANSI_NULLS ON\r\nGO\r\nSET QUOTED_IDENTIFIER ON\r\nGO\r\n-- ============================================= \r\n-- Author: <Author,,Name>\r\n-- Create date: <" + DateTime.Now + ">\r\n-- Description: <Description,,> \r\n-- =============================================\r\nCREATE PROCEDURE " + "Upd" + TableName + "\r\n" + parramUpd.Substring(0, parramUpd.Length - 3) + "\r\nAS\r\nBEGIN\r\n" + " update\r\n" + TableName + "\r\nset\r\n" + ziduanUpdParam.Substring(0, ziduanUpdParam.Length - 3) + "\r\nwhere\r\n" + dat.Rows[0][0].ToString() + "=@" + dat.Rows[0][0].ToString() + "\r\nEND \r\nGO"; Del = "SET ANSI_NULLS ON\r\nGO\r\nSET QUOTED_IDENTIFIER ON\r\nGO\r\n-- ============================================= \r\n-- Author: <Author,,Name>\r\n--Create date: <" + DateTime.Now + ">\r\n-- Description: <Description,,> \r\n-- =============================================\r\nCREATE PROCEDURE " + "Del" + TableName + "\r\n" + paremDel + "\r\nAS\r\nBEGIN\r\n" + " delete from " + TableName + "\r\n" + "where ID_i=" + dat.Rows[0][0].ToString() + "\r\nEND \r\nGO";
}
return procedureIns + "\r\n\r\n" + Upd + "\r\n\r\n" + Del + "\r\n\r\n";
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;using System.Data.SqlClient;
public partial class CreateProcedure : System.Web.UI.Page
{
public string SqlCon;
public string procedureIns;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string procedure = "SET ANSI_NULLS ON \r\nGO\r\nSET QUOTED_IDENTIFIER ON\r\nGO \r\n-- ============================================= \r\n -- Author: <Author,,Name> \r\n -- Create date: <"+DateTime.Now+"> \r\n -- Description: <Description,,> \r\n -- ============================================= \r\n CREATE PROCEDURE " + "Ins_Name" + "\r\n AS \r\n BEGIN \r\n " + "Ins_Name" + "END \r\n GO";
//txt_proc.Text = procedure;
}
} protected void btn_Create_Click(object sender, EventArgs e)
{
string proc = "";
string sqlcon = txt_slqCon.Text.ToString();//"server=10.114.72.31;uid=sa;pwd=123;database=wgltest";
string TableName = txt_tableName.Text.ToString();
string [] name = TableName.Split(','); if (sqlcon == "")
{
Response.Write("<script>alert('真干人连接串没写')</script>");
}
else
{
if (name.Length > 0&&name[0]!="")
{
for (int i = 0; i < name.Length; i++)
{
DataTable dat = GetColumnNames(sqlcon, name[i].ToString());
if (dat.Rows.Count > 0)
{
proc = proc + "\r\n\r\n" + CreateProc(dat,TableName);
}
else
{
Response.Write("<script>alert(‘真干人看看连接串写的对么?')</script>");
break;
}
} } else
{
Response.Write("<script>alert('不写表名你干人啊!')</script>");
}
txt_proc.Text = proc;
}
} public DataTable GetColumnNames(string Sqlcon, string TableName)
{
DataTable dat = new DataTable();
try
{
SqlConnection con = new SqlConnection(Sqlcon);
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "select a.name,b.name as typename from syscolumns a inner join systypes b on a.xtype=b.xusertype inner join sysobjects c on a.id=c.id where c.name = '"+ TableName + "'";
SqlDataAdapter sdap = new SqlDataAdapter(cmd);
sdap.Fill(dat);
}
catch (Exception ex)
{
if (Sqlcon == "")
{
Response.Write("<script>alert('干人你到是写个链接串啊')</script>");
}
else
{
Response.Write("<script>alert('库里也没这表啊')</script>");
}
}
return dat;
}
public string CreateProc(DataTable dat,string TableName)
{
string Del = "";
string Upd = "";
string paramIns = "";
string parramUpd = "";
string ziduanIns = "";
string ziduanpram = "";
string ziduanUpdParam = "";
if (dat.Rows.Count > 0)
{
string paremDel = "@" + dat.Rows[0]["name"].ToString() + " " + dat.Rows[0]["typename"].ToString();
for (int i = 1; i < dat.Rows.Count; i++)
{
string ParamType = dat.Rows[i]["typename"].ToString();
if (dat.Rows[i]["typename"].ToString() == "nchar" || dat.Rows[i]["typename"].ToString() == "nvarchar")
{
ParamType = dat.Rows[i]["typename"].ToString() + "(200)";
}
paramIns = paramIns + "@" + dat.Rows[i]["name"].ToString() + " " + ParamType + ",\r\n";
ziduanIns = ziduanIns + dat.Rows[i]["name"].ToString() + ",";
ziduanpram = ziduanpram + "@" + dat.Rows[i]["name"].ToString() + ",";
ziduanUpdParam = ziduanUpdParam + dat.Rows[i]["name"].ToString() + "=@" + dat.Rows[i]["name"].ToString() + ",\r\n"; }
parramUpd = paremDel + ",\r\n" + paramIns;
procedureIns = "SET ANSI_NULLS ON\r\nGO\r\nSET QUOTED_IDENTIFIER ON\r\nGO\r\n-- ============================================= \r\n-- Author:<Author,,Name>\r\n-- Create date: <" + DateTime.Now + ">\r\n-- Description: <Description,,> \r\n-- =============================================\r\nCREATE PROCEDURE " + "Ins" + TableName + "\r\n" + paramIns.Substring(0, paramIns.Length - 3) + "\r\n AS\r\nBEGIN \r\n " + "insert into" + TableName + "\r\n(" + ziduanIns.TrimEnd(',') + ")\r\nvalues\r\n(" + ziduanpram.TrimEnd(',') + ") \r\n END \r\n GO"; Upd = "SET ANSI_NULLS ON\r\nGO\r\nSET QUOTED_IDENTIFIER ON\r\nGO\r\n-- ============================================= \r\n-- Author: <Author,,Name>\r\n-- Create date: <" + DateTime.Now + ">\r\n-- Description: <Description,,> \r\n-- =============================================\r\nCREATE PROCEDURE " + "Upd" + TableName + "\r\n" + parramUpd.Substring(0, parramUpd.Length - 3) + "\r\nAS\r\nBEGIN\r\n" + " update\r\n" + TableName + "\r\nset\r\n" + ziduanUpdParam.Substring(0, ziduanUpdParam.Length - 3) + "\r\nwhere\r\n" + dat.Rows[0][0].ToString() + "=@" + dat.Rows[0][0].ToString() + "\r\nEND \r\nGO"; Del = "SET ANSI_NULLS ON\r\nGO\r\nSET QUOTED_IDENTIFIER ON\r\nGO\r\n-- ============================================= \r\n-- Author: <Author,,Name>\r\n--Create date: <" + DateTime.Now + ">\r\n-- Description: <Description,,> \r\n-- =============================================\r\nCREATE PROCEDURE " + "Del" + TableName + "\r\n" + paremDel + "\r\nAS\r\nBEGIN\r\n" + " delete from " + TableName + "\r\n" + "where ID_i=" + dat.Rows[0][0].ToString() + "\r\nEND \r\nGO";
}
return procedureIns + "\r\n\r\n" + Upd + "\r\n\r\n" + Del + "\r\n\r\n";
}
}
解决方案 »
- discuz开源是什么意思?我下载的discuz也没有源代码啊。
- 弹出div升级版
- 遇到了一点点点点 小瓶颈!
- 帮忙看看一段代码
- 请问:vs2005里使用存储过程给表添加记录,我是菜鸟,方法要简单哦
- datalist插入的数据,每个数据要带链接
- 昨天问题未能解决,今天继续:200分求获取oracle数据乱码问题,可追加至1000分,顶者有分。
- 后台.cs怎样动态加载select标签的optgroup
- 求关于下载项目
- 请问在asp.net(vb.net)里怎么设置当点某个按纽的时候不执行服务器端的验证!谢谢!
- 请教缓存 母版页(MasterPage.master)会不会使它的子控件也跟着缓存?
- sql05 sa用户登陆问题,急啊!
写不了