2017-11-19 28 views
-5

.net framework 4.5.2와 janus gridex 및 Elegant.ui가 포함 된 프로그램을 C#으로 작성했으며 물론 SQL에 데이터베이스가 있습니다. 그것은 내 시스템에서 감사장을 실행하지만, 다른 시스템에 설치할 때 오류는 발생하지 않습니다. janus와 elegant.ui 및 sql을 다른 시스템에 설치했지만 여전히 작동하지는 않습니다. 자세한 내용은 installshield를 사용하여 설치 파일을 만들고 turbo studio 패키지 파일을 만들었지 만 그 중 아무 것도 작동하지 않았습니다. 어떻게해야합니까? 내가 어떻게하지 않았다고 생각하니?내 프로그램이 다른 컴퓨터에서 작동하지 않습니다

p.s : 다른 프로그램을 설치했지만 정상적으로 작동했지만 janus와 elegant.ui가 없습니다. 여기

내 initial_form의 코드입니다 :

using System; 
using System.Data; 
using System.Data.OleDb; 
using System.IO 
using System.Windows.Forms; 

namespace Namayeshgah 
{ 
public partial class Form1 : Form 
{ 

    public static string database; 

    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void btn_add_Click(object sender, EventArgs e) 
    { 
     var frmadd = new Frm_add(0); 
     frmadd.ShowDialog(); 
    } 

    private void tbl_crm_RowDoubleClick(object sender, Janus.Windows.GridEX.RowActionEventArgs e) 
    { 
     var frmedit = new Frm_add(int.Parse(tbl_crm.CurrentRow.Cells[1].Value.ToString())); 
     frmedit.ShowDialog(); 
    } 

    private void btn_delete_Click(object sender, EventArgs e) 
    { 
     DBConnention.delete(int.Parse(tbl_crm.CurrentRow.Cells[1].Value.ToString())); 
    } 

    private void btn_scanqr_Click(object sender, EventArgs e) 
    { 
     var frmscan = new Frm_qrcode(); 
     frmscan.ShowDialog(); 
    } 

    private void btn_fexcel_Click(object sender, EventArgs e) 
    { 
     OpenFileDialog ofd = new OpenFileDialog(); 
     if (ofd.ShowDialog() == DialogResult.OK) 
     { 
      var fileName = ofd.FileName; 
      var connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=\"Excel 12.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedType s=Text\""; 
      var conn = new OleDbConnection(connectionString); 
      conn.Open(); 
      // var sheets = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSc hemaGuid.Tables, new object[] { null, null, null, "person" }); 
      var cmd = conn.CreateCommand(); 
      // cmd.CommandText = "SELECT * FROM [" + sheets.Rows[1]["A"].ToString() + "] "; 
      cmd.CommandText = "SELECT * FROM [Sheet1$]"; 
      var adapter = new OleDbDataAdapter(cmd); 
      var ds = new DataSet(); 
      DataTable dt = new DataTable(); 
      adapter.Fill(ds); 
      adapter.Fill(dt); 

      string[] sprtd = new string[20]; 
      int code; 

      for (int i = 0; i < dt.Rows.Count; i++) 
      { 
       for (int j = 0; j < dt.Columns.Count; j++) 
       { 
        sprtd[j] = dt.Rows[i][j].ToString(); 
       } 

       if (DBConnention.search(sprtd[0], sprtd[1], sprtd[2])) 
       { 
        continue; 
       } 
       else 
       { 
        DBConnention.add(sprtd[0], sprtd[1], sprtd[2], sprtd[3], sprtd[4], sprtd[5], sprtd[6], sprtd[7], sprtd[8], sprtd[9], sprtd[10], 
         sprtd[11], sprtd[12], sprtd[13], sprtd[14], sprtd[15], sprtd[16], sprtd[17], sprtd[18], sprtd[19]); 
       } 
      } 
     } 
    } 

    private void btn_mexcel_Click(object sender, EventArgs e) 
    { 
     var sd = new SaveFileDialog(); 
     if (sd.ShowDialog() == DialogResult.OK) 
     { 
      sd.Filter = "Excel Files|*.xls"; 
      sd.DefaultExt = ".xls"; 
      using (FileStream fs = new FileStream(sd.FileName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) 
      { 
       tbl_namayeshgahExcel.Export(fs); 
      } 
     } 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     tbl_crm.DataSource = DBConnention.show(); 
    } 

    private void btn_show_Click(object sender, EventArgs e) 
    { 
     tbl_crm.DataSource = DBConnention.show(); 
    } 

    private void btn_edit_Click(object sender, EventArgs e) 
    { 
     var frmedit = new Frm_add(int.Parse(tbl_crm.CurrentRow.Cells[0].Value.ToString())); 
     frmedit.ShowDialog(); 
    } 

    private void btn_print_Click(object sender, EventArgs e) 
    { 
     var frmprint = new Frm_print(); 
     frmprint.Show(); 
    } 
} 
} 

이것은 form1.load 뒤에 코드 :

public static DataTable show() 
    { 
     using (var cn = new SqlConnection(dbConnection)) 
     { 
      cn.Open(); 
      SqlCommand cmd = new SqlCommand(@"select * from tblNamayeshgah"); 
      SqlDataAdapter da = new SqlDataAdapter(cmd.CommandText, cn); 
      DataTable dt = new DataTable(); 
      da.Fill(dt); 
      return dt; 
     } 
    } 

와 나는 program.cs에게 파일 포함 :

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace Namayeshgah 
{ 
    static class Program 
    { 
     /// <summary> 
     /// The main entry point for the application. 
     /// </summary> 
     [STAThread] 
     static void Main() 
     { 
      Application.EnableVisualStyles(); 
      Application.SetCompatibleTextRenderingDefault(false); 
      Application.Run(new Form1()); 
     } 
    } 
} 
+3

특정 오류 메시지없이이 질문에 대한 답변을 얻을 수 없습니다. –

+3

코드를 제공하지 않는 것이 한 가지입니다. 귀하의 질문에 대한 올바른 대소 문자를 사용하기에는 너무 게으른 것이 다른 것입니다. 사람들은 당신이 ** 적절하게 묘사하지 못하는 ** 문제를 해결할 ** 시간을 가져야 할뿐만 아니라, 당신이 당신의 질문을 읽는 것을 어렵게 만듭니다. 쿨하지 않아. – Sefe

+0

어떤 SQL을 사용하고 있는데, 연결 데이터베이스에 대해 사용자 로그인을 사용하고 있습니다. –

답변

0

가능한 경우를 4.0으로 프레임 워크를 가져 오십시오. 그것은 많은 컴퓨터에서 흔히 볼 수 있으며 XP는 그것을 지원합니다. 존재하지 않는 파일 (응용 프로그램이 중단 모드로 들어가거나 충돌 할 수 있음)을 읽지 않고 프로젝트 설정에서 프로그램을 게시하거나 릴리스로 컴파일하고 파일을 추출하려고 시도하지만 setup.exe가 생성 되었기 때문에 게시가 더 좋을 수 있는지 확인하십시오 Visual Studio에 의해 .Net Framework가 프로그램의 버전을 설치합니다.